{
 "cells": [
  {
   "cell_type": "code",
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "source": [
    "import numpy as np\n",
    "import pandas as pd \n",
    "from xgboost.sklearn import XGBClassifier\n",
    "from xgboost import plot_importance\n",
    "import matplotlib.pyplot as plt \n",
    "plt.style.use('ggplot')\n",
    "%matplotlib inline\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "import os \n",
    "os.chdir('F:/安装包/PPD-First-Round-Data-Updated/PPD-First-Round-Data-Update/')"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 用户数据表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入data_EDA_clean处理过的数据\n",
    "data1 = pd.read_csv('data1_clean.csv',encoding='gbk')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入变量明细表\n",
    "var_info = pd.read_csv('var_info.csv',encoding='utf-8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Numerical      125\n",
       "Categorical     20\n",
       "Index            1\n",
       "Name: 变量类型, dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "base_col = list(data1.columns)\n",
    "var_info2 = var_info[var_info.变量名称.isin(base_col)].reset_index(drop=True)\n",
    "var_info2.变量类型.value_counts() "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 类别型变量 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "      <th>nuniq</th>\n",
       "      <th>missing_pct</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>UserInfo_1</th>\n",
       "      <td>49697.0</td>\n",
       "      <td>3.218021</td>\n",
       "      <td>1.833218</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>7</td>\n",
       "      <td>0.000080</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_3</th>\n",
       "      <td>49697.0</td>\n",
       "      <td>4.694287</td>\n",
       "      <td>1.320488</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>8</td>\n",
       "      <td>0.000080</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_5</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>1.650530</td>\n",
       "      <td>0.583010</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_6</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>1.650550</td>\n",
       "      <td>0.581692</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_12</th>\n",
       "      <td>18317.0</td>\n",
       "      <td>0.356609</td>\n",
       "      <td>0.479011</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.631456</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_13</th>\n",
       "      <td>18317.0</td>\n",
       "      <td>0.641426</td>\n",
       "      <td>0.479595</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.631456</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_14</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>3.415605</td>\n",
       "      <td>1.169406</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>7</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_15</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>3.419086</td>\n",
       "      <td>1.166482</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>7</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_16</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>1.607030</td>\n",
       "      <td>1.055196</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>6</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_17</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>1.126114</td>\n",
       "      <td>0.331981</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               count      mean       std  min  25%  50%  75%  max  nuniq  \\\n",
       "UserInfo_1   49697.0  3.218021  1.833218  1.0  1.0  3.0  5.0  7.0      7   \n",
       "UserInfo_3   49697.0  4.694287  1.320488  0.0  4.0  5.0  5.0  7.0      8   \n",
       "UserInfo_5   49701.0  1.650530  0.583010  1.0  1.0  2.0  2.0  3.0      3   \n",
       "UserInfo_6   49701.0  1.650550  0.581692  1.0  1.0  2.0  2.0  3.0      3   \n",
       "UserInfo_12  18317.0  0.356609  0.479011  0.0  0.0  0.0  1.0  1.0      2   \n",
       "UserInfo_13  18317.0  0.641426  0.479595  0.0  0.0  1.0  1.0  1.0      2   \n",
       "UserInfo_14  49701.0  3.415605  1.169406  0.0  3.0  3.0  4.0  6.0      7   \n",
       "UserInfo_15  49701.0  3.419086  1.166482  0.0  3.0  3.0  4.0  6.0      7   \n",
       "UserInfo_16  49701.0  1.607030  1.055196  0.0  1.0  1.0  2.0  6.0      6   \n",
       "UserInfo_17  49701.0  1.126114  0.331981  1.0  1.0  1.0  1.0  2.0      2   \n",
       "\n",
       "             missing_pct  \n",
       "UserInfo_1      0.000080  \n",
       "UserInfo_3      0.000080  \n",
       "UserInfo_5      0.000000  \n",
       "UserInfo_6      0.000000  \n",
       "UserInfo_12     0.631456  \n",
       "UserInfo_13     0.631456  \n",
       "UserInfo_14     0.000000  \n",
       "UserInfo_15     0.000000  \n",
       "UserInfo_16     0.000000  \n",
       "UserInfo_17     0.000000  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 类别型变量的描述性分析\n",
    "cate_col = list(var_info2[var_info2.变量类型=='Categorical'].变量名称)\n",
    "# 数值型类别变量的desc\n",
    "data1.loc[:,cate_col].describe().T.assign(nuniq = data1.loc[:,cate_col].apply(lambda x:x.nunique()),\n",
    "                                          missing_pct = data1.loc[:,cate_col].apply(lambda x:(len(x)-x.count())/len(x)))"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "UserInfo_2,UserInfo_4,UserInfo_8，UserInfo_20: 城市信息, 需要做降基处理\n",
    "UserInfo_7，UserInfo_19：省份信息\n",
    "UserInfo_9：运营商类型,需要做清洗\n",
    "WeblogInfo_20：微博信息，需要做降基处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 先对所有字符型变量作去空格处理\n",
    "for col in data1.select_dtypes(include='O').columns:\n",
    "    data1[col] = data1[col].map(lambda x:str(x).strip())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 省份"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "原数据有两个省份字段，推测一个为用户的户籍地址，另一个为用户居住地址所在省份，由此可衍生的字段为：\n",
    "1.省份二值化，通过违约率将单个省份衍生为二值化特征，分为户籍省份和居住地省份\n",
    "2.户籍省份和居住地省份是否一致，推测不一致的用户大部分为外来打工群体，相对违约率会高一点\n",
    "ps: 计算违约率时要考虑该省份的借款人数，如果人数太少，参考价值不大"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算各省份违约率\n",
    "def plot_pro_badrate(df,col):\n",
    "    group = df.groupby(col)\n",
    "    df = pd.DataFrame()\n",
    "    df['total'] = group.target.count()\n",
    "    df['bad'] = group.target.sum()\n",
    "    df['badrate'] = df['bad']/df['total']\n",
    "    # 筛选出违约率排名前5的省份\n",
    "    print(df.sort_values('badrate',ascending=False).iloc[:5,:])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             total    bad   badrate\n",
      "UserInfo_19                        \n",
      "天津市            137   17.0  0.124088\n",
      "山东省           2366  256.0  0.108199\n",
      "吉林省            498   47.0  0.094378\n",
      "黑龙江省           813   71.0  0.087331\n",
      "湖南省           1753  149.0  0.084997\n"
     ]
    }
   ],
   "source": [
    "# 户籍地址\n",
    "plot_pro_badrate(data1,'UserInfo_19')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "             total    bad   badrate\n",
      "UserInfo_19                        \n",
      "天津市            137   17.0  0.124088\n",
      "山东省           2366  256.0  0.108199\n",
      "吉林省            498   47.0  0.094378\n",
      "黑龙江省           813   71.0  0.087331\n",
      "湖南省           1753  149.0  0.084997\n"
     ]
    }
   ],
   "source": [
    "# 西藏自治区的人数太少，不具有参考价值，剔除后再计算\n",
    "plot_pro_badrate(data1[~(data1.UserInfo_19=='西藏自治区')],'UserInfo_19')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "            total    bad   badrate\n",
      "UserInfo_7                        \n",
      "山东           2059  226.0  0.109762\n",
      "天津            183   20.0  0.109290\n",
      "四川           1117  108.0  0.096688\n",
      "湖南           1056  100.0  0.094697\n",
      "海南            164   15.0  0.091463\n"
     ]
    }
   ],
   "source": [
    "# 居住地址\n",
    "plot_pro_badrate(data1,'UserInfo_7')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 户籍省份的二值化衍生\n",
    "data1['is_tianjin_userinfo19'] = data1.apply(lambda x:1 if x.UserInfo_19=='天津市' else 0,axis=1)\n",
    "data1['is_shandong_userinfo19'] = data1.apply(lambda x:1 if x.UserInfo_19=='山东省' else 0,axis=1)\n",
    "data1['is_jilin_userinfo19'] = data1.apply(lambda x:1 if x.UserInfo_19=='吉林省' else 0,axis=1)\n",
    "data1['is_sichuan_userinfo19'] = data1.apply(lambda x:1 if x.UserInfo_19=='四川省' else 0,axis=1)\n",
    "data1['is_heilongj_userinfo19'] = data1.apply(lambda x:1 if x.UserInfo_19=='黑龙江省' else 0,axis=1)\n",
    "\n",
    "# 居住地址省份的二值化衍生\n",
    "data1['is_tianjin_userinfo7'] = data1.apply(lambda x:1 if x.UserInfo_7=='天津' else 0,axis=1)\n",
    "data1['is_shandong_userinfo7'] = data1.apply(lambda x:1 if x.UserInfo_7=='山东' else 0,axis=1)\n",
    "data1['is_sichuan_userinfo7'] = data1.apply(lambda x:1 if x.UserInfo_7=='四川' else 0,axis=1)\n",
    "data1['is_hunan_userinfo7'] = data1.apply(lambda x:1 if x.UserInfo_7=='湖南' else 0,axis=1)\n",
    "data1['is_jilin_userinfo7'] = data1.apply(lambda x:1 if x.UserInfo_7=='吉林' else 0,axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['四川省', '福建省', '湖北省', '江西省', '辽宁省', '山东省', '内蒙古自治区', '湖南省', '黑龙江省',\n",
       "       '山西省', '江苏省', '云南省', '浙江省', '广东省', '天津市', '广西壮族自治区', '甘肃省', '贵州省',\n",
       "       '陕西省', '重庆市', '河北省', '青海省', '安徽省', '上海市', '吉林省', '北京市', '河南省',\n",
       "       '宁夏回族自治区', '新疆维吾尔自治区', '海南省', '西藏自治区'], dtype=object)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 户籍省份和居住地省份不一致衍生\n",
    "data1.UserInfo_19.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['广东', '浙江', '湖北', '福建', '辽宁', '不详', '内蒙古', '湖南', '黑龙江', '山西', '北京',\n",
       "       '山东', '江苏', '云南', '天津', '广西', '重庆', '江西', '四川', '陕西', '贵州', '河北',\n",
       "       '青海', '甘肃', '安徽', '吉林', '新疆', '海南', '河南', '宁夏', '上海', '西藏'],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data1.UserInfo_7.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将UserInfo_19改成和居住地址省份相同的格式\n",
    "UserInfo_19_change = []\n",
    "for i in data1.UserInfo_19:\n",
    "    if i=='内蒙古自治区' or i=='黑龙江省':\n",
    "        j = i[:3]\n",
    "    else:\n",
    "        j=i[:2]\n",
    "    UserInfo_19_change.append(j)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(49701, 156)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "is_same_province=[]\n",
    "# 判断UserInfo_7和UserInfo_19是否一致\n",
    "for i,j in zip(data1.UserInfo_7,UserInfo_19_change):\n",
    "    if i==j:\n",
    "        a = 1\n",
    "    else:\n",
    "        a = 0\n",
    "    is_same_province.append(a)\n",
    "    \n",
    "data1['is_same_province'] = is_same_province\n",
    "\n",
    "# 删除原有的变量\n",
    "data1 = data1.drop(['UserInfo_19','UserInfo_7'],axis=1)\n",
    "data1.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 运营商"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(49701, 159)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 将运营商信息转换为哑变量\n",
    "data1 = data1.replace({'UserInfo_9':{'中国移动':'china_mobile',\n",
    "                                     '中国电信':'china_telecom',\n",
    "                                     '中国联通':'china_unicom',\n",
    "                                     '不详':'operator_unknown'}})\n",
    "oper_dummy = pd.get_dummies(data1.UserInfo_9)\n",
    "data1 = pd.concat([data1,oper_dummy],axis=1)\n",
    "# 删除原变量\n",
    "data1 = data1.drop(['UserInfo_9'],axis=1)\n",
    "data1.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  城市"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "原数据中有4个城市信息，推测为用户登录的IP地址城市，衍生的逻辑为：\n",
    "1. 通过xgboost挑选比较重要的城市变量，进行二值化衍生\n",
    "2. 由4个城市特征的非重复项计数可衍生成 登录IP地址的变更次数\n",
    "3. 根据城市的一线/二线/三线进行降基处理，再转化为二值化特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "UserInfo_2:330\n",
      "\t\n",
      "UserInfo_4:333\n",
      "\t\n",
      "UserInfo_8:664\n",
      "\t\n",
      "UserInfo_20:307\n",
      "\t\n"
     ]
    }
   ],
   "source": [
    "# 计算4个城市特征的非重复项计数，观察是否有数据异常\n",
    "for col in ['UserInfo_2','UserInfo_4','UserInfo_8','UserInfo_20']:\n",
    "    print('{}:{}'.format(col,data1[col].nunique()))\n",
    "    print('\\t')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['深圳' '温州' '宜昌' '南平' '辽阳' '不详' '包头' '赤峰' '鄂州' '武汉' '长沙' '漳州' '牡丹江' '太原市'\n",
      " '北京' '忻州' '三明' '临沂' '福州' '泰州市' '大同' '红河' '郴州' '常州' '湖州' '佛山' '天津' '南宁'\n",
      " '聊城' '柳州' '广州市' '太原' '重庆' '杭州' '景德镇' '上饶' '鸡西' '资阳' '成都' '济宁' '滨州' '渭南'\n",
      " '广州' '都匀' '廊坊' '西宁市' '金华' '龙岩' '清远' '兰州']\n"
     ]
    }
   ],
   "source": [
    "# UserInfo_8相对其他特征nunique较大，发现有些城市有\"市\"，有些没有，需要做一下清洗\n",
    "print(data1.UserInfo_8.unique()[:50])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "400"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# UserInfo_8清洗处理，处理后非重复项计数减小到400\n",
    "data1['UserInfo_8']=[s[:-1] if s.find('市')>0 else s[:] for s in data1.UserInfo_8] \n",
    "data1.UserInfo_8.nunique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 根据xgboost变量重要性的输出吧对城市作二值化衍生\n",
    "data1_temp1 = data1[['UserInfo_2','UserInfo_4','UserInfo_8','UserInfo_20','target']]\n",
    "area_list=[]\n",
    "# 将四个城市变量都做亚编码处理\n",
    "for col in data1_temp1:\n",
    "    dummy_df = pd.get_dummies(data1_temp1[col])\n",
    "    dummy_df = pd.concat([dummy_df,data1_temp1['target']],axis=1)\n",
    "    area_list.append(dummy_df)\n",
    "\n",
    "df_area1 = area_list[0]\n",
    "df_area2 = area_list[1]\n",
    "df_area3 = area_list[2]\n",
    "df_area4 = area_list[3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 用xgboost建模\n",
    "from xgboost.sklearn import XGBClassifier\n",
    "x_area1 = df_area1[df_area1['target'].notnull()].drop(['target'],axis=1)\n",
    "y_area1 = df_area1[df_area1['target'].notnull()]['target']\n",
    "x_area2 = df_area2[df_area2['target'].notnull()].drop(['target'],axis=1)\n",
    "y_area2 = df_area2[df_area2['target'].notnull()]['target']\n",
    "x_area3 = df_area3[df_area3['target'].notnull()].drop(['target'],axis=1)\n",
    "y_area3 = df_area3[df_area3['target'].notnull()]['target']\n",
    "x_area4 = df_area4[df_area4['target'].notnull()].drop(['target'],axis=1)\n",
    "y_area4 = df_area4[df_area4['target'].notnull()]['target']\n",
    "xg_area1 = XGBClassifier(random_state=0).fit(x_area1,y_area1)\n",
    "xg_area2 = XGBClassifier(random_state=0).fit(x_area2,y_area2)\n",
    "xg_area3 = XGBClassifier(random_state=0).fit(x_area3,y_area3)\n",
    "xg_area4 = XGBClassifier(random_state=0).fit(x_area4,y_area4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x12ac1fdd8>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABJkAAAH3CAYAAAAYDI6mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl8FdX9//HXJAFZBW0UTLV1r6JUUFxDKtooKmq1xU/B5augon7FasVqv193rdZSxFaxKLjg0hY+KPpDbC1uiCBYLXVrS1XUgmL1m6IlKQmy3N8fM8FLCGS7c2/unffz8biP3Dkzc87nMEI+njlzJkilUoiIiIiIiIiIiLRFUa4DEBERERERERGR/KdBJhERERERERERaTMNMomIiIiIiIiISJtpkElERERERERERNpMg0wiIiIiIiIiItJmGmQSEREREREREZE20yCTiLQ7QRC8FgTB7bmOQ0RERCRJlIOJSFsFqVQq1zGISAsFQTAFOLNB8bpUKlWSofoDYO9UKvXXTNTXiva3BmpTqdSaXLTfXEEQbAtslUqlPs51LCIiIhI/5WDtg3IwkfZLM5lE8tdrwB5pn29ksO4bgN9lsL4WSaVSK/MgudkK+AQYnOtYREREJKuUg+WQcjCR9i0jI+4ikhOrU6nUuzHV3SETlQRBUJRKpdZnoq72IrrDCBCgf0NFRESSSDlYDigHE8kPmskkUoCCINguCIKHgyD4dxAEn0bft0vbf0IQBPOCIPg82n93EASdon0fAFcAXw+CIBUEwZyofE4QBFMbtDMlCIKFadtzgiCYGgTBT4Mg+A/wg6h8tyAIngiC4D9BEHwYBMEdQRB03UL8HwRBcEvadioIgkuj9mqCIFgSBMExQRB8IwiCuUEQrAqC4PUgCA5OO+e6qK1DgiB4JQiCuiAI3g6C4JQGbe0cxVwVBMHqaC2CoQ2OSQVBMCYIgieBL4CLgdpo9/3R/kHRsZcHQfBW1NcPgiC4KK2eQdGx3w6C4HfRMe8EQXBSg/Z6BUFwXxAEn0QxvRkEQWm0r2sQBHcGQfB/QRB8Fv257rK5P0sRERHJHuVgysFEkk6DTCIFJginED8LbA8cA3wP2At4OO2wk4CHgCOB0cBZ0U+Aw4G7gY8Ip4Cf1sIQDovaLgceD4LgK8BcYCXwLeBs4DhgfAvrHQO8CBwRxfZrYBrwK+Db0TEPNjhna+CXwPXAQOAV4LdBEPQBiJKG+cDXgeFRzM8B04Mg+HaDukYDs4EDgUeBfaLyKwj/nF6OtocA10V/Dg8BtwdBMKBBXbcBUwj/rD8AHk5LYLaO+nkQcG70826+/Pf6UeBg4PuE08Q7AE8EQaA7eiIiIjmkHGwjysFEkiqVSumjjz559iH85bgeqEv7/CbadwbwL6Bz2vGDgBSww2bqewp4LG37FuCDBsfMAaY2EsfCBsd8DHRIK7saeAsoSis7i/AuVLCZeD4AbknbTgGT07YPj8quTyv7r6jsK9H2ddH2N9OO6QAsA34ZbV8DfA5s28ifxwsN2n+0wTGdovKztnCdioBVwMUNrsPItGO+GZUdG21fBtQAZY3UVwGsBb6aVrZzdP6huf7vUh999NFHH30K/aMcTDlYWplyMH30aeSjUVeR/PUGMCxte2X08xBgG+CzYMOj69R/2QX4OAiCvQjv0BwI7A70JrzTlQl/Sm28YOQhwN7AqrR4igiTjR2A5c2s9/W078uin6+mlX0U/SwlTPAA/p1Kpd6oPyCVSq0JguDPwG5R0UHAH1Op1IoGbc0BftSgbEFzggyC4CjCO3J9o3Y6E16PdK+kfX8v+rl99LMCeDmVSjX253IIUAwsSfuzrLdLc2MUERGRNlEOphwsnXIwkTQaZBLJX3WpVGpxI+VfAO8TThluaGkQBHsAi4D7gauAdwinM2/fyPHp1rPpI7aNPXJb00g884FRjRz7f020mW5tg1gA0hOpddHP9N/8XzRST3e+TKqK0+pqaKsG2w37tYkgCE4HJgP/C0wgTF7+3sih6XHX96s+7k4N9qf7AlgN9Gtkn17hKyIikh3KwZSDpVMOJpJGg0wiheevwH8DKxu7ExMEwQnAulQqdWG0HRA+256ebKxn038fPgV2bFC2ZzPjOQdYlkql/tOsHmTOdkEQ7JhKpT4ECIKgJ3AAMCvavwi4IAiCHqlU6t9p5x3Ol8/3b059YpT+52TAM6lU6raovV7Adg1PbMIbwMhGYoLwz3IroFsqlXp101NFREQkh5SDfUk5mEhCaeFvkcLzG6AKmBm9/aN/EATnBkHwi2j/cqBbEATnBUHQn/BuT+8GdSwFdgiC4LggCPpGZc8Ch0ZlHYMgGAXs14x4fgV0A2ZEb/YYEATBD4MguLKtHW2GNYAHQXB4EAQDCRdsXEW4iCPAnYR332ZFbxs5IAiCnwOVhOsJbFYqlfoC+AQ4IQiCbwbhm2OWE/4ZHRUEwWHAA4RrNbTEHYT/Nj8Z1dM/eltKL8Jr8GdgahAEJwdBsF8QBKcGQfBQC9sQERGRzFMO9iXlYCIJpUEmkQIT3akaDKwAZgDPEy7yODs6xIG7CBeWnE34HP3TDar5NeEbPh4F6hORKYQJwRTgn0Af4JFmxPMR4RtWuhMu5vgU4ZtNnmtx51puBTCR8A0jzxD+m3dUKpWqiWJbTvjGk8+Ax4B5wKHA0alU6sVm1P9DwreMzAN2InyDyp+AxwnfsjKBL9dpaJZUKrWU8A0wNVE9cwjfQFOXSqXWA98hXBvhgajdy9j0+omIiEiWKQfbiHIwkYQKUqlUrmMQEcm4IAiuA85PpVIN7xCKiIiISEyUg4kkm2YyiYiIiIiIiIhIm2mQSURERERERERE2kyDTCIiIiIiIiIi0mZak0lERERERERERNpMM5lERERERERERKTNSnIdQIZpWpaIiEjhC3IdgGxCOZiIiEjhazIHK7RBJpYvX57rEKSFSktLqaqqynUY0kK6bvlJ1y3/6JptrKysLNchyGYkLQdL2t/NpPUX1OckSFp/QX1Ogrj629wcTI/LiYiIiIiIiIhIm2mQSURERERERERE2kyDTCIiIiIiIiIi0mYaZBIRERERERERkTbTIJOIiIiIiIiIiLSZBplERERERERERKTNNMgkIiIiIiIiIiJtpkEmERERERERERFpMw0yiYiIiIiIiIhIm2mQSURERERERERE2kyDTCIiIpI1K1euZOnSpbkOQ0RERKTg1dbWsmTJkqy2qUEmERERyai6ujouv/xyBg4cyEEHHcSkSZNYtmwZw4cPp3///syYMSPXIYqIiIgUrOrqakaOHEm/fv2YOHEiAOvXr+fqq6+mvLycb3/727z66quxtF0SS61bYGYl7r624c9M1b/u3BMzVZVkySe5DkBaRdctP+m65Z+4rlnx5Jkx1QyrVq3i8MMP52c/+xmfffYZRxxxBEOGDGHMmDHMmTMntnZly5SDZVbS/j1NWn9BfU6CpPUX1Of2IM4crF5RUREjRoygsrKSRYsWATB9+nQ+/vhj5s6dy1//+ldGjx7NnDlzCIIgo23HPshkZocD3wauBY4GTjKzq4HHzOwY4C4zuwf4H+B4oGd0ajmwH1ALrAUmuft/4o5XRERE2mbbbbdlyJAhG76XlZWxcuVKBgwYwAsvvJDj6JJDOZiIiEgyde3alYqKCqZNm7ah7PXXX+eII46guLiYvn37UlJSwj/+8Q923nnnjLYd++Ny7v4CsAb4CXAlcCnwMPAD4FzgnegYgO2AEcA5wBDgYKAY2Ao4MO5YRUREJLMWL17M6tWr2WuvvXIdSuIoBxMREZF6e+65J08//TRr1qzhnXfeYenSpfzrX//KeDvZmMm0F3BTtPlb4CTg18BlwDXAg2bWlzCZuRrYHfgj0JkwsekGfN/db4k7VhEREcmcFStW8IMf/IDx48dnfCq2NE05mIiIiNQ77bTTWLx4MZWVlRxwwAHsvvvubLPNNhlvJxtrMh0N3A4MA84C9nf3+WZWBXwYlXUCurv7f5vZbMKp2euA9dH31OYqN7NRwCgAd4+vFyIiIgWktLQ01vo/++wzzj77bG6++WYqKys3lHfp0oWSkpLY2xdAOZiIiEi7E3cOlJ5nde/enU6dOm3YvueeewBYvXo1++67L9/85jfp1KlTZtvPaG2NcPfbzewvQA3wZ+D/zKw78BXgA2BX4Li0U4qBQYTrAnQHOkbHbq7+ScCkaHOziZCIiIh8qaqqKra6q6urOeOMM7jwwgsZMGDARm2tWrWK4uLiVrdfVlaWqTALnnIwERGR9ifOHAzCQaz6Nqqrq6mrq6Oqqora2lqKi4vp0KEDY8eO5aijjqKmpoaamppm1dvcHCz2NZki2wHbA++7+yDgPGBK9P03DY6tjcovASYC/wssz1KcIiIi0kb33nsvb731Ftdddx3l5eWUl5fz97//nfLycu677z4mT55MeXk57733Xq5DTQLlYCIiIglTU1NDeXk5N998M7NmzaK8vJxHHnmEww8/nAEDBvDhhx/y4x//OJa2g1Qq/htPZvYccCKwEPgn4d2x7YD3CJ//Px4YBzwE/Bz4K+H07Y7ANoRvN3nZ3c9toqnU8uXKhfJN+kir5A9dt/yk65Z/dM02Ft1F0wJPzaQcLD5J+7uZtP6C+pwESesvqM9JEFd/m5uDxT6Tycx6AIG71wAfuHslcCHwYPR9av2x7v5r4JuEic9wdz8IuA/4QTOSGxERERGJKAcTERGRbMvG43L7A89G33cxsznAHcB3o++nph/s7lXAD4H9zWw+cCZhwiMiIiIizaccTERERLIqK4/LtZaZBe7ekgATN1W7ECRt+mKh0HXLT7pu+UfXbGN6XC47lIM1LWl/N5PWX1CfkyBp/QX1OQkK/nG5tmhhciMiIiIiGaAcTERERFqjXQ8yiYiIiIiIiIhIftAgk4iIiIiIiIiItJkGmUREREREREREpM00yCQiIiIiIiIiIm2mQSYREUms2tpalixZkuswRERERKSFlMe1TxpkEhGRxKmurmbkyJH069ePiRMnAnDVVVdRXl6+4bPTTjvx9ttv5zhSEREREUnXWB4H8PHHH3PaaacxYMAATjjhhBxGmGwluQ4g09ade2KuQ5AW+iTXAUir6Lrlp3y7bsWTZ8ZSb1FRESNGjKCyspJFixYB8JOf/GTD/iVLljB69Gj23HPPWNoXaa/M7Ep3v6k15yYtB8u3f0/bKmn9BfU5CZLWX4i/z3Hlbukay+MALrzwQk499VSGDh1KbW1t7HFI43IyyGRm1wN/BPYB1rn7rVH5LHc/3sxKgHLgWqAj0A141d3PyUW8IiJSWLp27UpFRQXTpk1rdP9vf/tbvv/972c5KpHMMrMyYPu0otOAKuAPaWUfAYcClwIdgG+Y2VFp+3/u7k/GHauIiEhzNZbHvfHGG6RSKYYOHQpA586dcxVe4mVlkMnMpgM7pRWVAcOAz4AOZnYOYZKzn5k9E8X1HPCFux9pZpcAK7MRq4iIJNuaNWt44oknmD17dq5DEWmrHYFvpm3vBGwNDEgrW0OYlz0MvAnsBTzm7ivN7EeAsnQREWn3/vKXv9C7d2+GDRvG8uXLOfXUUzn//PNzHVYiZWsm007ufkj9hpldAPzb3X9jZt3cvSYqnwVcDtwG3ATU3zk7DtBDlSIiErvZs2dz4IEH0qNHj1yHItJWbwJj07Z3BL4AvhFt/8nd7zGzimj7L8CewCQzGwkcDLyYrWBFRERaq6qqinfffZfp06ezfv16jj/+eCoqKthnn31yHVriZGuQqYeZLYy+P0eY9GxrZh2AuWb2GvA1oDfwfLT/AQAzOxhY5u6rG6vYzEYBowDcPdZOiIhIdpWWlsZaf/fu3enUqdNG7UyfPp0xY8bE3nZzlZSUtJtYJO8MBZ5J296JcJBpw5IcZrbhJl500+8hM9sHeJxwaYOXN1e5cjAREWkomzlLeh638847M2jQIHbffXcABg4cSFVVFaWlpYnLpXLd32wNMn3u7oea2c7AjcBTQD/gdOARd7/ZzE4Bfg5cCXxIeOfsUWAR0NPMjnD35xtW7O6TgEnRZir2noiISNZUVVXFWn91dTV1dXUb2vnwww9555132HfffWNvu7lKS0vbTSztQVlZWa5DyBvu/pCZ/TfhYNP6tF17E+aAE9z9iWjZgh+a2ekNqhhIeDPwGuVgIiLSHNnMWdLzuP3335/x48fz/vvvs379el566SUuuOCCDQNNScql4upvc3Ow2AeZzCwA1kabXYAawunYPwOOBI40s/HAqYSDThDeFfsAwN3XRI/X3Uk4y0lERKRNampqGDx4MDU1NaxevZoFCxYwduxYXnrpJYYOHUoQBLkOUSRTvga8APy9QflAoLeZdQeWuPs+Ub71R3f/k5kd7+6zzOwGoFOWYxYREdmszeVx559/PscddxypVIrRo0ezyy675DrURMrGTKbdgPej718FVgD/JpyyfbG7V5vZMuAN4Kq0c9KtBbZpTmPZeGWiZFbSRpYLha5bftJ1C3Xr1o358+dvUl5eXp6DaERiV0t4ky9dXfTzK8CZhDfyvgp0j8ovAWYRLvzd8NxGJS0HS9q/p0nrL6jPSZC0/kJh9HlzeRygtwO3A9kYZPoeMNvMngL2AC4Cfk+47tKxZjaXcEbTF+5+NICZjas/2cx+Qzit+/osxCoiIiJSaIYT3uBL1wuYQLhG075mNodwxvkRZrYGeC86bk/g4yzFKSIiInkuG4NMBwGnu/vDAGZ2GTDR3WeY2fXAK4TrMJ0ZJTgQzmS6B8DdT81CjCIiIiKF6iJ3nwdgZoOAq4FqYJG7LwcGpB9sZvcD/cxsEfCBu7+b5XhFREQkT2VjkOkUd9+w2KS7j0v7fi1wbbT564YnmtlJ8YcnIiIiUpjc/ccNtucAc5o4Z0S0piburgW9RUREpNliH2RKH2Bqxbl1TR8lIiIiIpmkwSURERFpjaJcByAiIiIiIiIiIvlPg0wiIiIiIiIiItJmGmQSEREREREREZE20yCTiIiIiIiIiIi0mQaZRETaudraWpYsWZLrMEREREREmk05bDJpkElEpJ2qrq5m5MiR9OvXj4kTJwKwYsUKTjrpJMrLy6msrOTNN9/McZQiIiIiIl9qLIcF+PrXv055eTnl5eVccMEFOYxQ4lSS6wAaY2b93P211py77twTMx2OxOyTXAcgraLrFiqePDO2uouKihgxYgSVlZUsWrQIgM6dO/PAAw/Qo0cPHnzwQW6//XYmT54cWwwiIs2VtBwsab8Hk9ZfUJ+TIGn9BeCxl2JvorEcFqB3797Mnz8/9vYlt7IyyGRmVwN/APoAlwFVabt7Az9298ejY68FvgqMykZsIiLtVdeuXamoqGDatGkbyjp37kznzp1Zt24dy5cvp0+fPjmMUETaMzPbC7geuMDdV0RlOwO3uPuwtOO6Az8Cxrp7jZm9AJzi7p/mIGwREclzjeWwkhyxPy5nZp2AIGprK+Aqdx8E3B/9vCXt2AuBvYHzo+0KMxsXd4wiIvnkmmuuoU+fPsybN4+RI0fmOhwRaafcfTFwD/A9Mzu24X4z28PMdnf3auAV4FkzG0SYs63NarAiIlLwPvvsMw477DCGDh3K66+/nutwJCbZWJPpQaAYOAo4B8DMOgBD0uOIZjD1BU5z9/VmVgwsArY2s59mIU4Rkbxwww038Le//Y2TTz6Z8847L9fhiEg7ZWZDgVfdfTJwZSOHHA4ca2Y3A3OAY4FlQAc0yCQiIhn29ttv89JLL3HmmWdy9tln5zociUk2Hpf7O3AwsB3wMHAM4SNzu5vZHOBN4APC5Gcx8EczWwusAf4DrAL6mtkN7n5Nw8rNbBTRo3XuHndfREQ2UlpaGnsb3bt3p1OnTpu0demllzJ27NgWxVBSUpKVmCVzdM2kDdYBL5pZ5RaOqSbMw2YD17v7U2bWhTD/2iLlYCIi+SebecXmctgRI0Zw5ZVXUlJSQs+ePWOPI2m5VK77m41BpsnAbsCthGstPQX8ErgJOBUYBtQBXdy90btmZrYV4d21Tbj7JGBStJnKaOQiIk2oqqpq+qA2qq6upq6ujqqqKhYvXkxZWRlbb701M2fOpG/fvi2KobS0NCsxS+bomm2srKws1yHkDXd/zMzeo4m1bd39CTN7EfhaVLTV5nKyBucpBxMRyTNr167NWl6RnsOuWLGC4uJievTowXPPPUePHj2yFkvScqm4+tvcHCz2QSZ3X2pmHYF3CAeZAE4CPgJ+THj3rA64ysyGAZ83qKInMNXdr4s7VhGR9qSmpobBgwdTU1PD6tWrWbBgATfeeCNnnXUWxcXF7LTTTowbp2XrRGSLtiecTb45d5jZOfUbZtYZ2MHM5qUd82d3vyiuAEVEpLA0lsOeffbZTJo0iaKiIrbffnvuuuuuXIcpMcnK2+WAUuAO4P8BewAVhGsyPUk4lbt+YOkyd5+VfqKZHQ8MaG5Dcb5OXOKRtJHlQqHrFr9u3bo1+prXhQsX5iAaEclTVwO2hf0XufuU+g0zu4MwPzzD3d9vSUNJy8GS9nswaf0F9TkJktbfbNlcDqsX1iRDNt4udxjwHODAtwjXWTrX3VPAcMIFJkVEREQkg8ysN7DG3f/ZjGP7mdmTQHfgQuBeM7vDzLaPO04REREpHNmYyfRd4AZ3Xxm9Me4ywMw23FTrTfjYHMDPzOzHDc7fBpiehThFRERECskw4LHo+1/MbMM0yOj7doSDSQuBL4Cb3f2p6JAjo2Rtrpn90N1/n83ARUREJD9lY02my9K+TwGmbObQx4Hr4o5HREREJCFuJ8r13P28xg4ws73C3f5uw33u7mb2O7Sot4iIiDRTttZkEhEREZEscvf1hDOUtnTM4ib212Q0KBERESlosa/JJCIiIiIiIiIihU+DTCIiIiIiIiIi0mYaZBIRERERERERkTbTIJOIiIiIiIiIiLSZBplERNq52tpalixZkuswRERERESaTTlsMmmQSUSknaqurmbkyJH069ePiRMnArBixQpOOukkysvLqays5M0338xxlCIiIiIiX2oshwX4+te/Tnl5OeXl5VxwwQU5jFDiVJLrAADMrDuAu1e3ta51557Y9oAkqz7JdQDSKrpuoeLJM2Oru6ioiBEjRlBZWcmiRYsA6Ny5Mw888AA9evTgwQcf5Pbbb2fy5MmxxSAi0lxJy8GS9nswaf0F9TkJktZfAB57KfYmGsthAXr37s38+fNjb19yK/ZBJjO7A+gfbe4LvNXI9zqgk5kNA+4EDgH+lhbjbu6+Q9yxioi0J127dqWiooJp06ZtKOvcuTOdO3dm3bp1LF++nD59+uQwQhFpz8zs20D3aHMRcAQwHZjh7sdExwwATgauA/YA7gUa3l7+3N0/yELIIiJSABrLYSU5Yn9czt0vAo5w94HA7919YMPv7l4JXAzs7e7fAZ4GrgZOAj4Czok7ThGRfHHNNdfQp08f5s2bx8iRI3Mdjoi0X+8RDiCtAv4NXAbMBg42s3lmNg/4EHgNOBG4CbgPGNDgs1v2QxcRkULz2WefcdhhhzF06FBef/31XIcjMcnGTKYAeNLM7gbeNLMp0a7Vad/fB2a5+9PR9vXAM0BHYIy7Pxl3nCIi+eKGG27guuuu4/777+e8885j6tSpuQ5JRNohd3/fzD4jHGzalfAG3+Vm9lTaTKaRhANPZwP/BEYRDkqlomq6ufuA7EcvIiKF5u233wbgiSee4Oyzz+bVV1/NcUQSh2ysyXQocAZh0nIn4cBRva2Ah4DxwL1m9lPgWmAp4UymjsBxZvY/wAPuPq5h5WY2Kqobd4+xGyIimyotLY29je7du9OpU6dN2rr00ksZO3Zsi2IoKSnJSsySObpm0lrRAFIF0A2YBtzVyGEvAhOAM4GfAiOBvYBd3H2smT27hfqVg4mI5Jls5hWby2FHjBjBlVdeSUlJCT179ow9jqTlUrnubzYGmXYDfg4cCQwGLo3KlxImJl+4+xtmdnAUz9PuXm1mA4Fj3P30aDZU58Yqd/dJwKRoM9XYMSIicamqqoq9jerqaurq6qiqqmLx4sWUlZWx9dZbM3PmTPr27duiGEpLS7MSs2SOrtnGysrKch1CPpkLVAKzgG2Ba81sW2BvM3sNqAEmuPtJZvYz4PuE62iuA0rM7ERgXzOb7u6nNKxcOZiISP5Zu3Zt1vKK9Bx2xYoVFBcX06NHD5577jl69OiRtViSlkvF1d/m5mCxDzK5+0Nm9i6wHigDfuHuj5vZUw0OHQ08CDxsZt2AHsC20WAThOsyvRt3vCIi7UVNTQ2DBw+mpqaG1atXs2DBAm688UbOOussiouL2WmnnRg3bpMJniIiALj7u2b2KfBW9P1RwjWXVgNz3f1iADObDFwJlLv7QDO7AnjI3Zeb2TONDTCJiIhsTmM57Nlnn82kSZMoKipi++235667GptcK4UgGzOZILwjdjfwx8Z2mlkx4cLfd7r78VFZ/Uymq1rSUJyvE5d4JG1kuVDousWvW7dujb7mdeHChTmIRkTyjZl1AEqBm8zsEcJZTfcA/wv82cwudffxQDnwL8IbggCPAacRzkRv9ktikpaDJe33YNL6C+pzEiStv9myuRxWL6xJhtjfLhclOLcBNwPLgUvMbA7wKeEjcOsJ1236M3CGmc2J9t+Rvm1m18cdq4iIiEgBGQf8DfgZMAKY5+5zAdx9CtDLzB4D/kq0ZmaUg00ChpjZAmA/M7s4+6GLiIhIPmr1TCYz+zpQ7O7vNXHo8YRvjnuX8HG3mWbWEXgJeJlwhtM+0TFTgClR/a2aySQiIiKSj1qQWzVL2uNwRcBV7r6owf4rzOxaYIW71wLfio4vB34BbA38r7vfnYl4REREpPAFqVTz1mk0s/nAFe4+z8yGAr8hnIV0cTtKPlLLly/PdQzSQpqmmp903fKTrlv+0TXbWLToZJDrODKhveRWZtbB3dc0KCsB1rl7cxf0TlwOlrS/m0nrL6jPSZC0/oL6nAQxL/zdZA7WkplM+wOvRm96+ykwlHBm0izC2UgiIiIi0nztIrdqOMAUla3NVvsiIiJSOFqyJtM/gApgFLDK3WckQOkKAAAgAElEQVRGZb3jCExERESkwCm3EhERkYLSkplMVxLeWVsDnBCVVQJ/z3RQIiIiIgmg3EpEREQKSrNnMrn7o0BPYHt3fz4qfhH4dhyBiYiIiBQy5VYiIiJSaFryuBzAEGCimc2OtrcDumQ2JBEREZHEUG4lIiIiBaPZg0xmdgNwM/AOX95h2xGYFENcIiKxqa2tZcmSJRuVrVy5kqVLl+YoIhFJIuVWIiKSS43lxCJt1ZKZTOcAR7v7T/jytXULgUMyHpWISAyqq6sZOXIk/fr1Y+LEiQAsW7aM4cOH079/f2bMmJHjCEUkYZRbiYhI1jWWE9dbsWIF++23H7/4xS9yFJ3ku5Ys/L2WLxOgVPSzN7A6U8FEr/A9yN1fbm0d6849MVPhSJZ8kusApFXium7Fk2fGVDMUFRUxYsQIKisrWbRoEQAdO3ZkzJgxzJkzJ7Z2RUQ2I/bcKpuSloMlLX9JWn9BfU6C9tjfOHPheo3lxPVuvPFG+vbtG3sMUrhaMsh0NzDTzP4HwMwGATcA05o60cz2AuYTTgdPtwvwHXdfGG0PAU4GWj3IJCKyOV27dqWiooJp0778Z6tXr1706tWLF154IYeRiUhCtTq3ai0zux74I7APsM7db43KZ7n78WZWApQD1wIdgW7Aq+5+TlwxiYhIdjWWEwPMnTuXkpIS+vfvn6PIpBA0e5DJ3W8ys2pgLFAH3AP8FvhJM6t4HjDgAuBX7p4ys7sAzOxu4ACgL/CWmb3ayPm/c/drmhuviIiISHuWgdyqSWY2HdgpragMGAZ8BnQws3OAj4D9zOwZwtzwOeALdz/SzC4BVmYqHhERaZ9qa2sZN24cDz74IPfee2+uw5E81uxBJjP7FnCPu9/e2sbcfb2ZbQv8EvhBWvl5ZrY3cIe7V5rZzsAEdz++tW2JiIiItGeZyK2aYSd337DGk5ldAPzb3X9jZt3cvSYqnwVcDtwG3AQ8GZ1yHHBCjPGJiEg7MH78eM466yx69uyZ61Akz7XkcbnfE979ahN3v9HMjm5k1xXAz1pan5mNAkZFdbcxOhHJtdLS0tjb6N69O506ddqorS5dulBSUpKV9nMpCX0sNLpmBS0juVUTephZ/bIEzwFvAtuaWQdgrpm9BnyNcC2o56P9DwCY2cHAMndvdI0o5WAiIpkX9+/89LwiPSeeOXMm8+bNY/LkyXzyyScEQcA+++zD8OHDY40nG5KWS+W6v0EqlWr6KMDMLgNKgZ/U3/Vq5nmPEa69tBONr8n0f8DrhOsxvRuVdyRMeN5NO/ZUd3+7ieZSy4YMaG5oItIOZWOxw2nTpvHKK68wbty4DWW33norxcXFXHLJJbG3n0ulpaVUVVXlOgxpAV2zjZWVlcGXi2XntdbmVi1sY4G7HxrNEr8RmEyYcy0GdnD3m83sFODnhI/pfQi8CDxKOINpKuHs8uebaEo5mIhIBsSdC6fnFY3lxFB4eXHScqm4+tvcHKwlM5muIFz88TIz+xxYX7/D3bff3EnufrKZHQcMcvfL0/dFazJNqV/428wOc/eX6h+XA74D9Hb3j1oQp4hIo2pqahg8eDA1NTWsXr2aBQsWMGrUKCZNmsTnn38OwPTp03nooYfYddddcxytiCRAq3Kr5ore2rs22uwC1AB/IZw5fiRwpJmNB04FTo+OGwV8EMWwJnq87k7CWU4iIlIAGsuJx44dS3l5ea5DkwLQkkGmoW1oZ3/grS0dYGajgaPM7Ltpxb2Bx8zsR+7erFc/ZWMWhGRW0kaWC0U+Xrdu3boxf/78TcrPPPPMHEQjItKm3Ko5dgPej75/FVgB/JtwdvnF7l5tZsuAN4Cr0s5JtxbYpjmNJS0Hy8ffg22RtP6C+pwESetvvc3lxPXGjBmTxWik0LTk7XKter93dBfte8CxjezeCkiZ2QjCWUsnuPs6M+sCpNz9IzM7AXjczCa7+32tiUFERESkvWltbtUC3wNmm9lTwB7ARYTrQL0JHGtmcwlnNH3h7kcDmNmGZybM7DfA3sD1MccpIiIiBaIlb5d7Hmh0ASd3P3ILp34fmO/u/0yr64fASMI7Y5cD/YETgZ5RO92A8VHdn5jZUcAhDSsWERERyVdtyK2a6yDgdHd/OGrvMmCiu88ws+uBV4ArgTPNbE50zm7APVEMp2YgBhEREUmQljwu90iD7Z7AGcBTTZznwGMbFbjfZma/dPf6tQfuin7WEt4xo8HxNcAzLYhVREREpL1rbW7VXKek5Vq4+7i079cC10abv254opmdlKEYREREJEFa8rjcnQ3LzOxXwIwmzlsPbPLq2/SkR0RERCRpWptbtaD+Vuda7l6XiRhEREQkWYraeH4Nmy4QKSIiIiKto9xKRERE8lZL1mT67wZF3QjXUfpLRiMSERERSQDlViIiIlJoWrIm0ykNtmuA54HbMheOiIiISGIotxIREZGC0pI1mY6IMxARERGRJFFuJSIiIoWm2Wsymdm6Rsq2M7NPMxuSiIiISOFTbiUiIrlUW1vLkiVLch2GFJgmZzKZ2anRcYGZnQEEabv7AXpLnEhC3X777bg7QRBw1VVXMXjw4FyHJCLS7im3EhGRXKqurubiiy9m/vz5nHDCCYwbN27DvhUrVnDEEUcwYsQILrnkkhxGKfmqOY/LHQnsB6SAH6SVp4DPgP+KIa5WW3fuibkOQVrok1wHUOCKJ8+Mpd45c+Ywe/Zsnn76aVasWMHJJ5/MwIED6dq1ayztiYgUkHaXW5lZABzk7i+3to6k5WBJy1+S1l9Qn5OgPfY3rtw9XVFRESNGjKCyspJFixZttO/GG2+kb9++sccghavJQSZ3PwfAzN539wNb2oCZ7QVcD1zg7iuisp2BW9x9WNpx3YEfAWPdvcbMXgBOcXdNGRdph/70pz8xcOBAOnfuzFe/+lX23ntvFi1aREVFRa5DExFp19qaW7VElIfNB95psGsX4DvuvjDaHgKcDLR6kElERPJD165dqaioYNq0aRuVz507l5KSEvr375+jyKQQtGTh711a04C7Lzaze4DvmdmH7v779P1mtgeQcvd3zewV4Fkzu4Jwvai1rWlTROLXp08fpk2bxkUXXURNTQ1vvfUWK1asyHVYIiJ5o7W5VSs8DxhwAfArd0+Z2V0AZnY3cADQF3jLzF5t5Pzfufs1WYpVRERyoLa2lnHjxvHggw9y77335jocyWPNHmQys0OBO4E+QIf0fe5evIXzhgLPuvvTZjYP+H2DQw4HOpvZDsBPCe+2bRO1oUEmkXbq2GOP5fnnn+fYY49lzz33pE+fPmyzzTa5DktEJG+0NrdqDXdfb2bbAr8k7RE9dz/PzPYG7nD3ymi2+QR3Pz6T7YuISPs2fvx4zjrrLHr27JnrUCTPNXuQCZgEzASmAt8A7geuAGY1cd464EUzq9zCMdXAB8Bs4Hp3f8rMugCrmgrKzEYBowDcvanDRRKntLQ0lnpLSkoYO3YsY8eOBeCAAw7gwAMPjK09yYySkhJdozyja1bQWptbtYq732hmRzey6wrgZy2tTzmYiEjmxf07Pz2v6N69O506daK0tJSZM2cyb948Jk+ezCeffEIQBOyzzz4MHz481niyIWm5VK7725JBpl2AnxAmQQe4+zwze5tw5tHdmzvJ3R8zs/doYl01d3/CzF4EvhYVbeXuTc5kcvdJhEkahAtmikiaqqqqWOrt2bMny5cvp0uXLjz88MOUlZXRuXPn2NqTzCgtLdU1yjO6ZhsrKyvLdQiZ1KrcqrnM7LGojZ3MbGFa+Q1R+UAze51wPaZ9zeynQEfgaw0emzvV3d9uWL9yMBGRzIv7d356XlFdXU1dXR1VVVW8/PKXS/LdeuutFBcXc9RRRxVEDpK0XCqu/jY3B2vJINPbwD7Am8BBZrY1sBOwfTPO3R7Ybgv77zCzc+o3zKwzsEP0eF29P7v7RS2IV0RitGrVKo466ijq6uro06cP48ePz3VIIiL5pi25VZPc/WQzOw4Y5O6Xp++L1mSaUr/wt5kd5u4v1T8uB3wH6O3uH2UiFhERaT9qamoYPHgwNTU1rF69mgULFjB27FjKy8tzHZoUgJYMMl0F9HH3V83s18CnQDFwRzPOvZpwwcnNucjdp9RvmNkdUWxnuPv7LYgxK698lMxK2shyodh6662ZP39+rsMQEclnbcmtmmt/4K0tHWBmo4GjzOy7acW9gcfM7Efu/kJzGkpaDpa0/CVp/QX1OQmS1t963bp122IeP2bMmCxGI4WmqLkHuvvv3P3B6PtVhG8h2c/dL93SeWbWG1jj7v9sqg0z62dmTwLdgQuBe83sDjPLyB09ERERkfaitblVc5lZAHyPcM3LhrYCUmY2gnDW0vfdfR3QhfCtvx8BJwC3mNnITMQjIiIiha/Zg0wQvinOzB4ws9nu/g6wzsx2bOK0YcBj0fe/RGsCTAV2jr7/D1AWfb+d8O0mZ7n7PHc/EngRmGtmx7YkVhEREZH2rpW5VXN9H5iffqPPzH5oZm8CRwHvEQ42nQj0NLO/AX8AngNw90+i45ZmKB4REREpcM1+XC5aJHIY8CBwelS8IzAGOG4Lp95e3467n7eZuvcKd/u7Dfe5u5vZ79CCkiIiIlJA2pBbNZfz5Y2+sMD9NjP7pbuvj4ruin7WAntvUoF7DfBMBmIRERGRBGjJmkznAIe5+wdRUgSwEDhkSydFScwXTRyzuIn9NS2IU0RERCQftCq3aq4oB1u9mXIRERGRjGvJ43JrgSD6Xj+rqDeNJC8iIiIi0iTlViIiIlJQWjLIdDcw08yOBzCzQcD9wLQY4hIREREpdMqtREREpKC05O1yNwGTgbFAHXAP8AJwRTyhiYiIiBQu5VYiIiJSaLa4JpOZ/dHdD6rfdvfbzWxHd788/tBERERECotyKxERESlkTc1kOqCRsjFxBCIiIiKSAMqtRESyoLa2liVLlmxUtnLlSpYuXZqjiESSoSVrMtULmj5ERNqTu+++m/Lycg455BCmTJmS63BERGRjyq1ERDKkurqakSNH0q9fPyZOnAjAsmXLGD58OP3792fGjBk5jlCksG3xcTkgMLNj2Tj5STUsc/ffNbdBMxsMfOLur7Uo0mZad+6JcVQrMfok1wG0E8WTZ8ZS77Jly7jvvvt4/vnnqaur47DDDsPM6NKlSyztiYjIFmU8t2ovkpaDJS1/SVp/QX2OQ1z5brqioiJGjBhBZWUlixYtAqBjx46MGTOGOXPmxN6+SNI1Nci0FPhVE2UpYNfNVWBmRwPp6wzsBqwws8/Syn7q7s+a2Wx3Pzo6b567D4y+Pwxc5e4fNBGviDRQUhL+NQ+CgHXr1tG1a1c6dOiQ46hERBKrzblVS5jZMcDuwB8JFxjfA/gIWBUd8pS736IcTEQKRdeuXamoqGDatC9f1NmrVy969erFCy+8kMPIRJJhi4NM7r5zWxtw99lmtjKtaBLwA2BdWtnL0U9NrRDJsB122IFLL72UE044gVQqxZ133qlBJhGRHMlEbtVcZnYUcCTQC/iTuw8ys0eB8939/xocrhxMRERE2qypmUxtZmYBsFe0OQj4G+FdtHTvm9mA6Pjjgd9H348AXo07RpFCVl1dzeOPP84NN9zAsmXLuOuuuxgwYMCGGU4iIlKwOhPOiFoL9DKzOUB/YLqZQZif7QscDMrBREREpO2y8X+Z44D9ou/fBP4BnN7gmKuBCdH3g9Pi2h3os6XKzWwUMArA3TMQrkhulJaWxlLvI488wv7778+JJ4ZrZTz77LO89tprHHPMMW2qt6SkJLaYJT66bvlH10xay91nRnnSQnd/3Mx+B/zB3Y8AMLOngGOA7aJTlIOJSKyy+fuse/fudOrUaaM2u3TpstHv1ST+jlWfC1+u+xv7IJO7jzGzUsCB0wjXAfgK4dpMBwMXAVOAPwCnAPcD10en/xZ4jC2sQefukwgfwYNwDQORvFRVVRVLvWvXruXVV1/l448/ZvXq1SxevJggCNrcXmlpaWwxS3x03fKPrtnGysrKch1C3jCzXoSPyp1jZt8EegNdoxlNAFsD3wWuQjmYiGRBNn+fVVdXU1dXt1Gbq1atori4eENZEn/Hqs+FL67+NjcHy8bjcqcDo4F/AuXA64RTs3cgTHZeJRyA+giocff3zOxMYK6710RvW5kSd5wiheq73/0u8+fP59BDD6VTp06ccsopHHDAAbkOS0RE4ve/wCPAGsLZTC81PMDM9kc5mIgUkJqaGgYPHkxNTQ2rV69mwYIFjBo1ikmTJvH5558DMH36dB566KFEzW4RyZZsPC73H+AoYDVwGeH061JgCXAJsA2wN/AtYAGAu6+P1grA3dfWf2+ObLwWUzIraSPL2daxY0fuuOOOXIchIiLZ9w7wLrC7u79kZq8Bn6ft3w04FuVgrZK0/CVp/QX1OV9169aN+fPnb1J+5pln5iAakeTJxiDTM8BDwHrgBcLFJ6uj7WeA9wkfmZsOnJ+FeEREREQKnrtPMLP0Bfj+6e4bts1sXPR1NMrBREREJAOysSZTtZmdQTijaSHh4pIj3H0OcFu0RsBxwHPu/n7c8YiIiIgkVO+09ZggnMn0OcrBREREJEOCVCq76zSaWeDucTWaWr58eUxVS1wKYVpuEum65Sddt/yja7axaNHJINdx5CMz6+TudWnbHYG17r4+A9UnLgdL2t/NpPUX1OckSFp/QX1OgpgX/m4yB8vG43IbiXGASUREREQ2I32AKdr+IlexiIiISGEqynUAIiIiIiIiIiKS/zTIJCIiIiIiIiIibaZBJhERERERERERaTMNMomIiIiIiIiISJtpkElEREREREQKSm1tLUuWLNmobOXKlSxdujRHEYkkgwaZRNqJCRMmUF5evuGz66678uyzz+Y6LBERERGRvFFdXc3IkSPp168fEydOBGDZsmUMHz6c/v37M2PGjBxHKFLYSrLRiJltC+wDLAJ2cfe34mpr3bknxlW1xOSTXAfQQsWTZ8ZS7+jRoxk9ejQQ3mUZPHgwhx9+eCxtiYiIZFrScrB8y1/aKmn9BfU5DnHl0emKiooYMWIElZWVLFq0CICOHTsyZswY5syZE3v7IkmXlUEm4DpgZvTz22b2L+A24ABgCPCku99Yf7CZjQZq3H1KluITaVdmzJjBkCFDKCnJ1l9REREpZGb2HHC6uy9vUL4zMAK4wd3X5SI2EZFM6tq1KxUVFUybNm1DWa9evejVqxcvvPBCDiMTSYbY/w/WzIYAWwMdgQHADcCPgW7RwNKNmzm1V3R+EXAeMNnd18Ydr0h7MHXqVCZMmJDrMEREpHCUAJvkUe7+gZnVAY+a2Z8Ib/6VAHsAf4sOu93df5O1SEVERCRvZWOaxJHAncCpQDVQCTwCnAE4gJldTZjUBMAyYA5woZn9EpgAvK0BJkmKN954g6222ordd98916GIiEgeM7NLCfMvgL2Bp8xsPbAbcKC7v2tmOwG3ANu5+6fAjWZWCkx198qcBC4iIiJ5K/ZBJncfY2ZTgfHAfcC2wNeA7c1sJrA98Km7H2Jmg4DB0an/Av4MjHX3+zdXv5mNAkZFbcXWD5F6paWlsdb/6KOPcu6558beTluVlJS0+xhlU7pu+UfXTFrL3ccT5l+Y2V+BAe6+3sweTzvsvwhvCJ4LfNqS+pWDiUhLZfP3Wffu3enUqdNGbXbp0mWj36tJ/B2rPhe+XPc3G4/LHQccDLwNvA68F30/0d1PMbOp7j4sOvx8wsfpjgTuInxMbu6W6nf3ScCkaDOV+R6IbKyqqiq2uletWsWsWbO4/PLLY20nE0pLS9t9jLIpXbf8o2u2sbKyslyHkK+K3X19w0J3v8nMXgG2aWmFysFEpKWy+fusurqaurq6jdpctWoVxcXFG8qS+DtWfS58cfW3uTlYUcZb3tTJwFvAGsLZSaWEM5kWpx9kZuWECdBfo6LVwMXAI2bWLQtxiuTczJkzGTRoEF27ds11KCIiUiDMbB/g/S0c8h6wyQCUiEg+qqmpoby8nJtvvplZs2ZRXl7OAw88QHl5Offddx+TJ0+mvLyc9957L9ehihSkbKzJdB7wG+BbQB9gT8J1l2rrDzCzrxCuvbTRu2/d/UUzuxN40cxOcvd/NNVYNl6LKZmVtJHlLRk2bBjDhg1r+kAREZHm+x/gwYaFZtYRuJUwJ3uXcJmCVktaDpa0/CVp/QX1OV9169aN+fPnb1J+5pln5iAakeSJfSZT2tTsZ4DfAi8CfyVcZLI+hluBa9x9WVTWjegNKO5+D3AbMCbuWEVEREQKiZn9iPCNvb9NK04BHYCdgV0JZ51PzXpwIiIiUnCyMZOp3smEA0enE75F7mgzm0/4KN1od19jZsOBK4GtgKPrT3T3B2nkDpyIiIiINM7MfgbsA5zs7ulrJr0APBF9v5Hwzb9lZja7wfkLo68fu/vJcccrIiIi+S9bg0wj3X1V2nYKeCr6bODuv2XjO20iIiIi0jo3ufvKhoXu/gvgFwBmtgOw0N3/DhyS5fhERESkwGRlkKnBAJOIiIiIxKyxAaZGjvkY+DgL4YiIiEgCZOPtciIiIiIiIiIiUuA0yCQiIiIiIiIiIm2mQSYREREREREREWkzDTKJiIiIiIiIiEibaZBJREREREREsqq2tpYlS5bkOgwRyTANMom0ExMmTKC8vHzDZ9ddd+XZZ5/NdVgiIlLAzKy7mXXPdRwikhzV1dWMHDmSfv36MXHixA3l99xzDwceeCAVFRU899xzOYxQRNqiJBuNmNkxwO7AH4GxwB7AR8Cq6JCn3P0WM5vt7kdH58xz94HR94eBq9z9g6baWnfuiTH0QOL0Sa4DaKHiyTNjqXf06NGMHj0agJUrVzJ48GAOP/zwWNoSEZHCZ2Z3AP2jzX2Btxr5Xgd0MrNhwJ3AIcDfon0lwG7uvkNz2ktaDpZv+UtbJa2/kMw+89hLsTdRVFTEiBEjqKysZNGiRQB88MEHTJkyheeff57ly5czbNgwXn75ZTp06BB7PCKSWbHPZDKzo4AjgQOBYncfBCwEhrj7oOhzS3R4l7jjEckHM2bMYMiQIZSUZGUcWERECpC7XwQcEd20+727D2z43d0rgYuBvd39O8DTwNXASYQ3BM/JVfwiUpi6du1KRUUFxcXFG8qeeuopTjjhBLp168aee+7JjjvuyBtvvJHDKEWktbLxf7CdgV2BtUAvM5tDeFdtupkB7EV4R+1gADM7Hvh99P0I4NUsxCjSrkydOpUJEybkOgwREcljZhYAT5rZ3cCbZjYl2rU67fv7wCx3fzravh54BugIjHH3J7MYsogk1PLly/nGN76xYXuHHXbg008/zWFEItJasQ8yuftMMxsFLHT3x83s/7N35/FZVPcexz+ThE2IgAaFIFUUN5QrijukiIK4t3r1V6qViopLRdpar61Wq9bWBXEpamkRW9xa/Km1F2lFrYALohWxxfVWrbhFkRSVRJYQmPvHTPAxZCXP/nzfr1deeWY78zscn8zPM2fO/BV41N1HAJjZHOAIoFd8yAEJcQ0ABqY6RpFssmTJEjp16sSAAQMyHYqIiOS2g4BTgbOIHoXrmLCtE3A3cCNwh5ldA1wOvEc0kqkjcJSZXQzc6e6T0xm4iBSW2tpaioq+fMimqKjoKyOdRCR3pLyTycy2BbYFzjSz/wJ6A13jEU0AWwInAJcCJwG/J7qLBvBH4CGaeSQ67sA6C8DdU1ADka8qKytLafkPPvgg48ePT/l52qukpCTrY5RNqd1yj9pM2mEn4HqiaQtGAxfE698jyp1q3X2JmdXf4Hvc3avNbBhwhLt/Jx4N1aWxwpWDieSfdF5zSktL6dy5M2VlZfTv35+VK1duPHdVVRUDBw5MeSyFeI1VnfNfpuubjsflLgEeANYRjWbaZDY5M9uH6Ln/Gnf/t5l9F3jK3WvM7EhgRlOFu/s0YFq8GCY7eJGGqqqqUlb2qlWrmD17NhdddFFKz5MMZWVlWR+jbErtlnvUZl9VXl6e6RByhrvfbWZvARuAcuDmeFT5nAa7TgDuAu4xs25Ad2CruLMJonmZ3mqkfOVgInmmrq4ubdec6upq1qxZQ1VVFQcddBATJ05k7NixvP/++yxfvpy+ffumPJZCvMaqzvkvVfVtbQ6Wjk6mN4kSkwHu/qyZ/QP4LGH7TsCRwNeBhQDuviGerwl3r6v/LJLvZs2axSGHHELXrl0zHYqIiOSH9cBvid7wuwkzKyaa+Ps2dz8mXlc/kunStEUpIgWjpqaG0aNHU1NTw9q1a1m4cCGTJk3ihBNOYMSIEXTq1InJkycTBEGmQxWRzZCOOZluNbMjElZ97O4bl82s/hn/CcA57T1fql4vL6lTaD3LzRkzZgxjxozJdBgiIpIHzKwDcBPwXaI5Li8wsx8QPS7XhWiE00HAS8CpZnZafGjDkUxPuvvlLZ2v0HKwQstfCq2+UJh1Todu3bqxYMGCTdYPHTqUiRMnZiAiEUmmTLwfvXfCfEwQjWT6DJjr7u9kIB4RERGRfHQM0Zvj3iIaVT7LzDoCzwLPE41w2iPeZwbx9AQaySQiIiKbKwjD9D5Cb2ad3X1NwnJHoM7dNySh+LCysjIJxUg66S5RblK75Sa1W+5Rm31VPB+AnqHIPgWXgxXad7PQ6guqcyEotPqC6lwIUjwnU4s5WNpHMiV2MMXLtemOQUREREREREREkqso0wGIiIiIiIiIiEjuUyeTiIiIiIiIiIi0mzqZRERERERERESk3dTJJCIiIiIiIiIi7aZOJhERERERERERaTd1MomIiIiIiIiISLupk0kkS9x6660MHTp048+OO+7IE088kemwREQkR5nZiWa2Z6bjEJHcMmXKFIYNG0ZFRQWPPvpopsMRkRxTkuoTmFlPYCd3X5TqcwGsH39cOk4jSbQs0wG0UfHts1JS7oQJE5gwYQIAK1euZLRUZigAACAASURBVPTo0QwfPjwl5xIRkYLwMvBnM/sO8NsG23YE9nH3pWY2GPimu19Rv9HMLgGecvdnWnuyQsvBci1/aa9Cqy9kX51TlYMmmj9/Po899hiPP/44K1as4Pjjj2fYsGF07do15ecWkfyQ8k4mIAR+a2ZHA/8FXN3IPscCN7r7txNXmtk4oBTYH/gfd/8o1cGKZIM//elPHH300ZSUpOMrKiIiucTMegDPtbDbcOBg4BB3Xwbs26CMmfHvPYEe8eehwC7AUGAwcKCZnQbc6+7zklkHEclOL774IsOGDaNLly707duX3XffncWLF1NRUZHp0EQkR6T8/2Dd/TMz+ykw1t0nAY81tp+Z9Yp/Hw3sHa8eDBQDHwEnALelOl6RbDBz5kxuvfXWTIchIiJZyN0/A3Zrbh8z2wEY7e6/b6G4E4Gl8ecfAr8CHgImAnOAAPiwHeGKSA4ZOHAg9913H+effz41NTW88sorrFixItNhiUgOScswCXefA8wxs5FN7HIesK+ZPQP8G5gGfAB8DGwHzADWpiFUkYxbsmQJnTp1YsCAAZkORURECk8I3ECUg3UGriIacS4iBeDII49k3rx5HHnkkeyyyy4MHDiQnj17ZjosEckh6ZiTaTowAvguMBLoCIzjq3MD/AkodfeR8f4fxHMEvAn0BmqIEp3Gyj8LOAvA3VNWD5F6ZWVlKS3/wQcfZPz48Sk/T3uVlJRkfYyyKbVb7lGbSWPM7Bqa7vx5DJiymUUvJbrZdy5RnngJ0AVY2UgMysFE0igd14KSkhImTZrEpEmTABgyZAj77bdf3l6HCvEaqzrnv0zXNx2Py51pZtcCJe7+EzM7n+iu2O+ACe7+CwAz+25CTH8ws+2Bs4GtgXOA94C7Gil/GlEyBNHdN5GUqqqqSlnZq1atYvbs2Vx00UUpPU8ylJWVZX2Msim1W+5Rm31VeXl5pkPICu5+MXBxU9vjx+U2xylAT+BooA/wEvB/wCaP3SkHE0mvdFwLevToQWVlJVtssQX33HMP5eXldOnSJW+vQ4V4jVWd81+q6tvaHKwo6WduhpltA3wDmBLPJ9DXzI5L2F4CbAkcBfwVeAfYEzgUuCedsYpkwqxZszjkkEP0Bg8REUm3YiBw9+uIbuo9AawBLmnFvE4ikidWrVrFqFGjGDJkCI8++ujGEU0iIq2V7ldXTQX2ABabWS2wHhhhZoOAHYiSmnLgc2Arogm/9wFGAbsCr7d0gnS82lOSq9B6lpszZswYxowZk+kwREQk/3UD6oDXiB67WwN0M7PewB3AyUT51w1mdoG7tzhSqdBysELLXwqtvlCYdd5yyy1ZsGBBpsMQkRyWjjmZdiAaidQF+D7wqbt/kbB9b6JEZxIwCPgZ8CSwAvg58CnR6KZJRHM6iYiIiBQsM/sVcFgLuy0HljVy7CygP1ANVHo0mZLH2/YH/gZ8z93fAaaZ2c+JHpU7LWkVEBERkbyVjpFMlxDNrTQceBSoMbM6olFMEHU+Pe/uT5vZj4Er3f0lM7uCqIPpGmAWoC51ERERKXju/v12HP4NosfiNjSy7VXgcHevTDjXz8ysSzvOJyIiIgUkHZ1M58SJzEvAzS3se6q71wK4+xUJ64ekKDYRERGRghE/9tboo2/xSPMvGlm/OtVxiYiISH5I+cTfTdwpa2rf2lTGIiIiIiIiIiIiqZHWt8uJiIiIiIiIiEh+UieTiIiIiIiIiIi0mzqZRERERERERESk3dTJJCIiIiIiIiIi7aZOJhERERERERERaTd1MomIiIiIiIiISLupk0lERERERERERNpNnUwiIiIiIiIiItJu6mQSEREREREREZF2UyeTiIiIiIiIiIi0WxCGYaZjSKa8qoyIiIg0Ksh0ALIJ5WAiIiL5r8UcLK9GMpnZi0SV1k8O/ajdcvNH7ZabP2q33PtRmzX6I1mmEP87LbQ6F1p9VefC+Cm0+qrOhfGT4vq2KK86mUREREREREREJDPUySQiIiIiIiIiIu2Wb51M0zIdgGwWtVtuUrvlJrVb7lGbSS4oxP9OC63OhVZfUJ0LQaHVF1TnQpDR+ubbxN8iIiIiIiIiIpIB+TaSSUREREREREREMkCdTCLSambWxcx2yXQc0jZqNxEREalXaHlBodUXVGfJrJJMB5AsZmbAdcB64Gp3/12GQ5JWMLOlQF28+JG7V2QwHGmCmW0J3AUcCjhwZrz++8CPgNXAD9z9kYwFKZtopt3WAe/Guy1y9zGZiVAaMrPOwBTgEKATcLO736TvmmSL5vItM9sTuBfoAcwCvu/uGzISaJI09Z1M2D4DGEX03QQ41N3fS3OYSddcfpZv7WxmPyG+Psa2A05w97/G22eQJ228ufmcmQ0Hbgc6ANPd/ZfpjHtzNVZfM9sa+DWwD9GAi5+6+8wGx80HduDL78Cu7r4+TWG3y+bmfrnaxtBkO98CHJmwW39gkLu/lnDcfHKwnTc3V0xnG+dFJ5OZlQI3AAcSJT3/MLOH3X15ZiOT1nD3AZmOQVq0AbgFmE30PcPMdgLOA/YA+gF/M7Pt3X1dxqKUhjZpt9iH+t5lra7Ao8DZwNbAq2a2GH3XJAu0It/6NfAT4DFgLnAc8OdMxJpEjX0nH3D39xP2OcXd52ciuFRq5jqRV+3s7tcC1wKYWXfgJaK6JcqXNm5zPmdmRcAdwAnA28BLZvYXd/9HBuJvq8byoF7AVHefb2YDgEVm9mAj19RD3H1p+kJNmjbnfjnextBInd39/PqN8eimPyR2MCXIxXZuc66Y7jbOi04mYDTwpLt/CGBmc4HDgJnNHiUireLuNcATZnZawurjo01eDbwW3/UcAjyX/gilMU20m2Qxd/8P8GC8WGVm7wNfR981yQ5N5ltm1gvoX3/n1MzuBY4ghzsfoMnvZA/g/aaPyl/52s4JTgEecPe6FvfMQZuZz+0DfOzuSwDM7AGiNs/6DojG6uvubwBvxJ/fikf4dAHy4sbNZuZ+OdvG0Ko6nwnkzVNOm5krprWN86WTqR9fDv8D+ADok6FYpG1Wm9nbwHLgcnd/NNMBSav1A15JWNb3LndsHX/v3gP+x90XZTog2VT8SEpnoAx91yQ7NJdvbUf0NyVx29FpiistEr6Tid/HdcCdZlYD/M7db8hIcMnXVH6W7+18BlFHU6J8beN6LeVzjX3vd01DXClnZkcCi919ZYNNa4F5ZvYZcIO735P+6JKuudwvn9u4A2DA4EY253w7tyFXTGsb58vE3x2JhsnV20A0jFuynLvv7u47Af8D3GtmPTIdk7Savnc5yt1L4+/dr4GHMh2PbMrMyoC7gXHouybZo7n/FvP6v9PE76S7h/Xr3X28u29PdEd4vJmNzFSMydRMfpa37WxmQ4A18UiXjfK1jRO01KZ52ebxo3LXEz1y9BXuPtrd+xN1OF5vZjnf4dJC7peXbRw7Dljg7p813JDr7dzGXDGtbZwvnUwfAX0TlrejQIcx5yp3fxpYSjT5muQGfe9ynLvfD3RR5252MbOeRPMKXOLuL6DvmmSP5v5bzNv/Thv5Tm4inqNpNrBnOmNLtUbys7xtZ2A80ZwljcrXNqblNs27Njez7YEHgLHNzccTz+GzANg9TaGlXBO5X961cYJmv9eQm+28GbliWts4Xx6Xewy4xsy2Ieo4O5hGeqUlu5hZV2BLd//IzPYmGtL3ZobDktb7C3C3mU0mSj63Ikee3S5k8V2POnf/LB4m/p/G7u5IZsRvSHkY+EXCW0H0XZNs0WS+5e7vmdkXZnYI8DRwKvDTTAWaLE18JxO3D4jnddmaaKRLzuefzeVnedzOXYFjgQsb2ZZ3bdxAS9eY54Bd41EeHxBNHHxkw0JyhZn1Bf4EjHf3xU3sU9/m2wMH0Mh/F7mkFblfXrVxvbj9dgLmNbE9J9t5M3PFtLZxEIZhy3vlgHiir8vixQvdXY+AZLl48sgFQDHwOfAjd2/0j4BkVvxGoZeAUqLnfpcT3Rk4KP69BjjT3RdkLEjZRBPt9ivgAqJhsh8B57n7PzMWpHyFmV0KXEzUNvUOB8ag75pkgYb5Vvx7J3efbGb7AHcSTYw9w90va6SInNLEd3IqEMR1/iswkGhuj1vc/dYMhJlUjeVnRG2az+18OjDU3c+Il4/ny/rmTRu3JZ8zswlEnRF/NLMjiF6Z3hG4zt2nZqQCbdREfQOi+WsS30I+EDiLL+v7MtANWAVcEY/+yQltyf3yoY2h2f+uRwDr3P2qhH0T65yT7dyWXDFTbZw3nUwiIiIiIiIiIpI5+TInk4iIiIiIiIiIZJA6mUREREREREREpN3UySQiIiIiIiIiIu2mTiYREREREREREWk3dTKJSNYJguAfQRBMyXQcIiIiIoVEOZiItJfeLieSg4IgmAF8t8Hq9WEYliSp/ADYPQzD15JR3macf0tgdRiG6zJx/tYKgmAroFMYhh+1uLOIiIjkPOVg2UE5mEj2SsofQxHJiH8AJyUsJ7PH+OfAqcAOSSxzIzNbCmyfsOpFd9+3fiEMw5WpOG8yBUHQCVgGjAdmZDYaERERSaOczMFayr9AOZiItJ86mURy19owDN9KUdkdklFIEARFYRhuaGLzse4+OxnnSaf4DiNAgP6GioiIFKJczsFyMv8C5WAiuUJzMonkoSAIegVBcE8QBJ8HQfBJ/LlXwvZjgyB4JgiCz+Ltvw2CoHO8bSnwY2D7IAjCIAjmx+vnB0Ews8F5ZgRB8FzC8vwgCGYGQXBNEARfABPj9TsFQfBwEARfBEHwwaJFi7aqqanp1Ez8S4MguDZhOQyC4IL4fDVBELwdBMERQRDsGgTBU0EQrAqC4J9BEByQcMwVQRB8EATBgUEQvBAEwZogCP4VBMFJZlaUsN8OccxVQRCsjeciOLFBPGEQBD8KguAvQC3wfWB1vPn38fZD4n0vCoLglbiuS4MgOD+hnEPifQ8LguCv8T5vBkHwzQbn2zYIgt8FQbAsjunlIAjK4m1dgyC4LQiC5UEQfBr/u/Zv6t9SRERE0iebc7CHH354u8cee+zsIAi6NhN/ynKwoqIia3Au5WAieUidTCJ5JoiGED8BbAMcAfw3sBtwT8Ju3wTuBg4FJgCnxb8BhgO/BT4EdgZOaWMIB8fnHgr8OQiCrYGngJXA14Ezli1b1mXBggVntlCPIjObamb/ASgpKfkZ8DQwokuXLus7dOgwu3v37q/vs88+2wKHAXTo0OHPZvaqmdXsvPPO44Mg6An8CrhyxIgRK3r27PlFEAS+fPnyBwC+/vWvH9GpU6d/bbXVViceeOCBS/v06XM8MBe4PwiCwxqENAF4DNgPeBDYI17/4/jf6fl4+Wjgivjf4W5gShAEXxmKDtxENLx7OLAUuCchgdkyruf+RMPA9ydqj/q/1w8CBwDfAkYT3fF8OAgC3dETERHJoGzPwYYMGVJVU1OzL3Bjc4X069fvcDP7j5lVx6t+BDw9ZMiQX/Xs2bN3x44dH+nWrdti4NfAYR07duzZtWvXp8ysxsz+3qNHj68BWwK/Ouigg752wAEH3N63b9/yMAxnBkEw0MwOOvbYY1/q3Lnzv7fccssjtt566/PjmJWDieQBdTKJ5K794ztD9T9/iNcb0Bf4RhiGC8MwfBq4EDg8CII+AGEYnhGG4W/DMFwchqED84gu7oRh+C7wGVAXhuFbYRh+2Ma4OgDnhGH4jzAMlwLfAz4FTg3D8MUwDB/dbbfdPl+5cuWhQbBx2PMmysrK9gQqiJIzOnToMDcMwztOOumkPfbbb7+t1q1bV1xTU3PtTjvtdG4Yhgv79ev3xLp163ovX778J0Cf6urqxWEYbtGnT5+fhGE4u6ysrHbEiBEbgI8WLFhQZWblVVVVf66trV3Xo0ePHfv16/f8sGHDJoRheAHwKPCzBiEtDsPwV3G93gf+Ha//JP53Wh3/+w0Pw/CBMAz/CVxOdLdtaIOybg7D0MMwXESUuHUlSpwAzgLKgcPDMJwVhuE/wzC8NQzDT4IgqABGErXt3DAM/w6cQ5Rs7YeIiIikQ07mYOXl5Wv69OkzExjbVA5WUlLSrWPHjv2I8q8d49V/Pemkk9bvuOOO47beeuuLa2tr6dChwwNhGM486aSTygYNGtTjiy++6PjCCy/sAdzRp0+fU4BSYPx22223+mtf+9pBgwYN+i/go44dO14AzPn73//+5po1a1ZWVFQ8cOihh54ahuEi5WAi+UGdTCK5awkwOOHnwnj9gUBP4NP65Ifogg3QHyAIgt2CILghHuZcCRweH5MMLzZ4I8mBwO7Aqvp4Xnrppa2Bjsccc8wGMwvNbHIj5YRECco2AKtXr54br//hhg0bJgGsX79+obvPBejbt+9QgPnz5//L3as//vjjF0tKStYPGzZs1/oCi4uL7wzDcNG6devKgVOXLVv2aRiGC95+++33gGuB0WbWAZgP7NkgnoWtqXwQBKPiYdYvAFVAFzb9t30h4XN9orRN/LsCeD4Mw8pGij8QKAbeTmjbN+JtGq4tIiKSHjmZgz344IPbf/jhhz8AOsc5WGP5F0VFRR2Bbdx9ebzqn8APgUvfeuut2QCffvrpA/G2c9evX+8AS5cu7ezuv62rq1teVFS0OgzDJfE+dz3yyCP/Bl7s1KnTUOCJTz75ZAvg71tsscWVfJl/gXIwkZynoX0iuWtNGIZvNLK+FniHaMhwQ+8FQbAzsBj4PXAp8CbRI2XbNLJ/og1s2jHdWEd1TSPxLCC6OwTAqFGjnlixYsVVs2fPvqOpV+QuX778FaJE4BmA0tLS7vGmAatWraqv98ZjS0pKto0/Jt6ZqwP6JCwvJeq4qgS279ixY+9tt922t5klvhWmd/y74ZxRDeu1iSAIvgPcDlwC3EqUvPxfI7sm1rmuQdydG2xPVAusJUpoG9IrfEVERNIjJ3OwkSNHPrFixYqrFi1aNH/27NlvN5aD1dXV1XzxxRcfAM+Y2YL61cAA4OU4FvgyV9mhtra2/nG1IC7js3jKgnpL49+lnTp1KgaO7927N2EYArwXb+sNvB9/Vg4mksPUySSSf14jGh69srE7MUEQHAusD8PwvHg5IBrquzxhtw1s+vfhE2C7But2aWU8ZwLvh2H4BYCZrevevfsHL7zwQlMXcoDQ3a+I77JVb7/99qcCvwSWdenS5WsNd96wYUMVX30tL3V1dZ2WL1++8VW8n332WRdgCDAb6NqpU6eX33333e3uv//+/mEYfl6/XxAEw/ny+f6m1CdZif9OBvwtDMOb4nK2BXo1PLAFS4DTgyDonhhT7DWixKtbPMxbREREskdW52AJ+VdjHWQbVVZWPkM0p9RtCauXET0+t7zB7h926tSpPHFFSUlJj/Xr128RBMF2J510EsCGIAh6AEO6du36LPDcxx9//D5wbsMcjGiuJOVgIjlMj8uJ5J8/EA0RnhW//WPvIAjGB0Fwc7y9EugWBMHZQRDsTXS3p3eDMt4D+gRBcFQQBIPidU8AB8XrOgZBcBawVyvi+TXQDfhT/GaPfV9//fUt582bZ80d1L1796+Z2R58eUepPpH4XWlp6QUAnTt37mRmRwF8/vnnfwXYa6+9hphZt2233XafIAh48sknLQiC4cuWLev09NNPXwysIprE0ffcc8/+RUVFxcBf+/TpM3bw4ME/CoLgeqJn7q9oLr4wDGuJEq5jgyD4ryB6c0xl/G80KgiCg4E7gTWt+DdKdAvR3+a/xOXsHb8tZVuiNngJmBkEwfFBEOwVBMHJQRDc3cZziIiISPJldQ5WVVXV8amnnvpGEAQ/beqAoqKizltssUUZUf71TsKm3wFX7b333nsCDBgwoH4eot+VlpaeBNCzZ88tzOzM4uLiHvHx/vHHH3d65ZVXBhJNmr2qf//+lwDfrKioeANYX1xc/LfddtvtZ0EQDFEOJpIf1Mkkkmfi0UKjgRXAn4gmlDyN6K0cAA78hmgOoseI3mDyeINi7iV6w8eDQH0iMoPojtYM4GNgIPAALYgnrTyC6DG1OcCcjz/+uMu22267pLnjSkpKuhJd0D8F+PDDD+sn1byutrb2LwD77rvvTKK3f/Dqq6/OBdhmm21+CVSWlpYOAv4ThuGtwN3PPPNM7zAMi4BRYRjWuPsbW2yxxdjDDjtseZ8+fQ5Yvnz575csWXINcBDRhI9Pt1Q3ovkJDiB6pK8fcCXwIvBn4C6i5HFlk0c3IgzD94jewlcTlzOf6A00a8Iw3AB8g2huhDvj817Ipu0nIiIiaZbtOdgzzzyz7eeff75vXH6jgiAo7tu37xii/GtkwqbrAO/du/c0gK222uoIAHf/4+eff34XwP777/8UcMoHH3xwV/xvMPWFF17o9frrr/+C6P87R82bN28x8N3evXtfPHr06G5bb731bv/6179+QpTTKAcTyQNB/CysiEheCYLgCqI3rDS8QygiIiIiKaIcTKSwaSSTiIiIiIiIiIi0mzqZRERERERERESk3dTJJCIiIiIiIiIi7aY5mUREREREREREpN00kklERERERERERNqtJNMBJJmGZYmIiOS/INMByCaUg4mIiOS/FnOwfOtkorKyMtMhpFxZWRlVVVWZDiOlCqGOoHrmk0KoI6ie+SRX61heXp7pEKQJhZCD5bJc/c4XErVRdlP7ZD+1UWq1NgfT43IiIiIiIiIiItJu6mQSEREREREREZF2UyeTiIiIiIiIiIi0mzqZRERERERERESk3dTJJCIiIiIiIiIi7aZOJhERERERERERaTd1MomIiIiIiIiISLupk0lERERERERERNpNnUwiIiIiIiIiItJu6mQSEREREREREZF2UyeTiIiIiIiIiIi0mzqZREREJOnWrFnDRRddxLBhw9h///2ZNm0aANOnT2e//fajoqKCuXPnZjhKERERkfzQWO61YsUKzjnnHIYOHcrBBx/M//7v/6Y8jrR3MplZSWO/RUREJH+sWrWK4cOH8/TTTzNnzhxuu+02Fi5cyIwZM5g3bx533HEHF154IevWrct0qDkvmbmVmQ03sw7Jik1ERETSo7Hc680332Ts2LEsWLCAe++9l5/85Ccpz72CMAxTegIzGw4cBlwOHA58E7gMeAg4AvgNMB24GDgG6BEfOhTYC1gN1AHT3P2LFk4X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\n",
      "text/plain": [
       "<Figure size 1440x576 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 输出变量的重要性\n",
    "from xgboost import plot_importance\n",
    "plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']\n",
    "fig = plt.figure(figsize=(20,8))\n",
    "ax1 = fig.add_subplot(2,2,1)\n",
    "ax2 = fig.add_subplot(2,2,2)\n",
    "ax3 = fig.add_subplot(2,2,3)\n",
    "ax4 = fig.add_subplot(2,2,4)\n",
    "plot_importance(xg_area1,ax=ax1,max_num_features=10,height=0.4)\n",
    "plot_importance(xg_area2,ax=ax2,max_num_features=10,height=0.4)\n",
    "plot_importance(xg_area3,ax=ax3,max_num_features=10,height=0.4)\n",
    "plot_importance(xg_area4,ax=ax4,max_num_features=10,height=0.4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 城市变量的二值化\n",
    "data1['is_zibo_UserInfo2'] = data1.apply(lambda x:1 if x.UserInfo_2=='淄博' else 0,axis=1)\n",
    "data1['is_chengdu_UserInfo2'] = data1.apply(lambda x:1 if x.UserInfo_2=='成都' else 0,axis=1)\n",
    "data1['is_yantai_UserInfo2'] = data1.apply(lambda x:1 if x.UserInfo_2=='烟台' else 0,axis=1)\n",
    "\n",
    "data1['is_zibo_UserInfo4'] = data1.apply(lambda x:1 if x.UserInfo_4=='淄博' else 0,axis=1)\n",
    "data1['is_chengdu_UserInfo4'] = data1.apply(lambda x:1 if x.UserInfo_4=='成都' else 0,axis=1)\n",
    "data1['is_weifang_UserInfo4'] = data1.apply(lambda x:1 if x.UserInfo_4=='潍坊' else 0,axis=1)\n",
    "\n",
    "data1['is_zibo_UserInfo8'] = data1.apply(lambda x:1 if x.UserInfo_8=='淄博' else 0,axis=1)\n",
    "data1['is_chengdu_UserInfo8'] = data1.apply(lambda x:1 if x.UserInfo_8=='成都' else 0,axis=1)\n",
    "data1['is_shantou_UserInfo8'] = data1.apply(lambda x:1 if x.UserInfo_8=='汕头' else 0,axis=1)\n",
    "\n",
    "data1['is_zibo_UserInfo20'] = data1.apply(lambda x:1 if x.UserInfo_20=='淄博市' else 0,axis=1)\n",
    "data1['is_chengdu_UserInfo20'] = data1.apply(lambda x:1 if x.UserInfo_20=='成都市' else 0,axis=1)\n",
    "data1['is_weifang_UserInfo20'] = data1.apply(lambda x:1 if x.UserInfo_20=='潍坊市' else 0,axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(49701, 168)"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 将四个城市变量改成同一的格式\n",
    "data1['UserInfo_20'] = [i[:-1] if i.find('市')>0 else i[:] for i in data1.UserInfo_20]\n",
    "# 城市变更次数变量衍生\n",
    "city_df = data1[['UserInfo_2','UserInfo_4','UserInfo_8','UserInfo_20']]\n",
    "city_change_cnt =[]\n",
    "for i in range(city_df.shape[0]):\n",
    "    a = list(city_df.iloc[i])\n",
    "    city_count = len(set(a))\n",
    "    city_change_cnt.append(city_count)\n",
    "data1['city_change_cnt'] = city_change_cnt\n",
    "# 删除原变量\n",
    "data1 = data1.drop(['UserInfo_2','UserInfo_4','UserInfo_8','UserInfo_20'],axis=1)\n",
    "data1.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 微博"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将字符型的nan转为众数\n",
    "for col in ['WeblogInfo_19','WeblogInfo_20','WeblogInfo_21']:\n",
    "    data1 = data1.replace({col:{'nan':np.nan}})\n",
    "# 将缺失填充为众数\n",
    "for col in ['WeblogInfo_19','WeblogInfo_20','WeblogInfo_21']:\n",
    "    data1[col] = data1[col].fillna(data1[col].mode()[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 微博变量的哑变量处理\n",
    "data1['WeblogInfo_19'] = ['WeblogInfo_19_'+s for s in data1.WeblogInfo_19]\n",
    "data1['WeblogInfo_21'] = ['WeblogInfo_21_'+s for s in data1.WeblogInfo_21]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(49701, 176)"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for col in ['WeblogInfo_19','WeblogInfo_21']:\n",
    "    dummy_df = pd.get_dummies(data1[col])\n",
    "    data1 = pd.concat([data1,dummy_df],axis=1)\n",
    "# 删除原变量\n",
    "data1 = data1.drop(['WeblogInfo_19','WeblogInfo_21','WeblogInfo_20'],axis=1)\n",
    "data1.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数值型变量 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x116d64e10>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1728x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 数值型变量的缺失率分布\n",
    "import missingno\n",
    "num_col = list(var_info2[var_info2.变量类型=='Numerical'].变量名称)\n",
    "missingno.bar(data1.loc[:,num_col])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "      <th>nuniq</th>\n",
       "      <th>misssing_pct</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>target</th>\n",
       "      <td>29832.0</td>\n",
       "      <td>0.073143</td>\n",
       "      <td>0.260375</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.399771</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>UserInfo_10</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>0.310778</td>\n",
       "      <td>0.603639</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SocialNetwork_17</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>0.253415</td>\n",
       "      <td>0.437140</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SocialNetwork_13</th>\n",
       "      <td>49701.0</td>\n",
       "      <td>0.219915</td>\n",
       "      <td>0.420269</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WeblogInfo_2</th>\n",
       "      <td>46915.0</td>\n",
       "      <td>0.132687</td>\n",
       "      <td>0.359614</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>5</td>\n",
       "      <td>0.056055</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WeblogInfo_30</th>\n",
       "      <td>49276.0</td>\n",
       "      <td>0.140088</td>\n",
       "      <td>0.471619</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>12</td>\n",
       "      <td>0.008551</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ThirdParty_Info_Period5_10</th>\n",
       "      <td>45108.0</td>\n",
       "      <td>0.734681</td>\n",
       "      <td>1.381051</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.092413</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ThirdParty_Info_Period6_10</th>\n",
       "      <td>36065.0</td>\n",
       "      <td>0.702177</td>\n",
       "      <td>1.344767</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>17</td>\n",
       "      <td>0.274361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WeblogInfo_36</th>\n",
       "      <td>49276.0</td>\n",
       "      <td>0.195207</td>\n",
       "      <td>0.773867</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>18</td>\n",
       "      <td>0.008551</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ThirdParty_Info_Period3_10</th>\n",
       "      <td>49014.0</td>\n",
       "      <td>0.850063</td>\n",
       "      <td>1.480641</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>19</td>\n",
       "      <td>0.013823</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                              count      mean       std  min  25%  50%  75%  \\\n",
       "target                      29832.0  0.073143  0.260375  0.0  0.0  0.0  0.0   \n",
       "UserInfo_10                 49701.0  0.310778  0.603639  0.0  0.0  0.0  0.0   \n",
       "SocialNetwork_17            49701.0  0.253415  0.437140  0.0  0.0  0.0  1.0   \n",
       "SocialNetwork_13            49701.0  0.219915  0.420269  0.0  0.0  0.0  0.0   \n",
       "WeblogInfo_2                46915.0  0.132687  0.359614  0.0  0.0  0.0  0.0   \n",
       "WeblogInfo_30               49276.0  0.140088  0.471619  0.0  0.0  0.0  0.0   \n",
       "ThirdParty_Info_Period5_10  45108.0  0.734681  1.381051  0.0  0.0  0.0  1.0   \n",
       "ThirdParty_Info_Period6_10  36065.0  0.702177  1.344767  0.0  0.0  0.0  1.0   \n",
       "WeblogInfo_36               49276.0  0.195207  0.773867  0.0  0.0  0.0  0.0   \n",
       "ThirdParty_Info_Period3_10  49014.0  0.850063  1.480641  0.0  0.0  0.0  1.0   \n",
       "\n",
       "                             max  nuniq  misssing_pct  \n",
       "target                       1.0      2      0.399771  \n",
       "UserInfo_10                  2.0      3      0.000000  \n",
       "SocialNetwork_17             3.0      4      0.000000  \n",
       "SocialNetwork_13             4.0      5      0.000000  \n",
       "WeblogInfo_2                 4.0      5      0.056055  \n",
       "WeblogInfo_30               16.0     12      0.008551  \n",
       "ThirdParty_Info_Period5_10  16.0     17      0.092413  \n",
       "ThirdParty_Info_Period6_10  25.0     17      0.274361  \n",
       "WeblogInfo_36               28.0     18      0.008551  \n",
       "ThirdParty_Info_Period3_10  19.0     19      0.013823  "
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 数值型变量的描述性分析\n",
    "num_desc = data1.loc[:,num_col].describe().T.assign(nuniq = data1.loc[:,num_col].apply(lambda x:x.nunique()),\\\n",
    "                                         misssing_pct  =data1.loc[:,num_col].apply(lambda x:(len(x)-x.count())/len(x)))\\\n",
    "                              .sort_values('nuniq')\n",
    "num_desc.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 排序特征衍生 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_col2 = [col for col in num_col if col!='target']\n",
    "# 筛选出只有数值型变量的数据集\n",
    "num_data = data1.loc[:,num_col2]\n",
    "\n",
    "# 排序特征衍生\n",
    "for col in num_col2:\n",
    "    num_data['rank'+col] = num_data[col].rank(method='max')/num_data.shape[0]\n",
    "\n",
    "# 将排序特征转为单独的数据集\n",
    "rank_col = [col for col in num_data.columns if col not in num_col2]\n",
    "rank_df = num_data.loc[:,rank_col]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### periods变量衍生 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 生成只包含periods的临时表\n",
    "periods_col = [i for i in num_col2 if i.find('Period')>0]\n",
    "periods_col2 = periods_col+['target']\n",
    "periods_data = data1.loc[:,periods_col2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ThirdParty_Info_Period1_1</th>\n",
       "      <th>ThirdParty_Info_Period1_2</th>\n",
       "      <th>ThirdParty_Info_Period1_3</th>\n",
       "      <th>ThirdParty_Info_Period1_4</th>\n",
       "      <th>ThirdParty_Info_Period1_5</th>\n",
       "      <th>ThirdParty_Info_Period1_6</th>\n",
       "      <th>ThirdParty_Info_Period1_7</th>\n",
       "      <th>ThirdParty_Info_Period1_8</th>\n",
       "      <th>ThirdParty_Info_Period1_9</th>\n",
       "      <th>ThirdParty_Info_Period1_10</th>\n",
       "      <th>ThirdParty_Info_Period1_11</th>\n",
       "      <th>ThirdParty_Info_Period1_12</th>\n",
       "      <th>ThirdParty_Info_Period1_13</th>\n",
       "      <th>ThirdParty_Info_Period1_14</th>\n",
       "      <th>ThirdParty_Info_Period1_15</th>\n",
       "      <th>ThirdParty_Info_Period1_16</th>\n",
       "      <th>ThirdParty_Info_Period1_17</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10.0</td>\n",
       "      <td>47.0</td>\n",
       "      <td>167.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>65.0</td>\n",
       "      <td>68.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>63.0</td>\n",
       "      <td>27489.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>18900.0</td>\n",
       "      <td>6083.0</td>\n",
       "      <td>2506.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>68.0</td>\n",
       "      <td>105.0</td>\n",
       "      <td>40.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>132.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3839.0</td>\n",
       "      <td>9558.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>9571.0</td>\n",
       "      <td>3777.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>50.0</td>\n",
       "      <td>49.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>78.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3578.0</td>\n",
       "      <td>5360.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4646.0</td>\n",
       "      <td>4292.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>9.0</td>\n",
       "      <td>54.0</td>\n",
       "      <td>56.0</td>\n",
       "      <td>125.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>136.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3805.0</td>\n",
       "      <td>9765.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10461.0</td>\n",
       "      <td>3109.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>39.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>561.0</td>\n",
       "      <td>792.0</td>\n",
       "      <td>1353.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   ThirdParty_Info_Period1_1  ThirdParty_Info_Period1_2  \\\n",
       "0                       10.0                       47.0   \n",
       "1                        0.0                        0.0   \n",
       "2                        1.0                        2.0   \n",
       "3                        9.0                       54.0   \n",
       "4                        1.0                        5.0   \n",
       "\n",
       "   ThirdParty_Info_Period1_3  ThirdParty_Info_Period1_4  \\\n",
       "0                      167.0                        0.0   \n",
       "1                       68.0                      105.0   \n",
       "2                       50.0                       50.0   \n",
       "3                       56.0                      125.0   \n",
       "4                       39.0                       34.0   \n",
       "\n",
       "   ThirdParty_Info_Period1_5  ThirdParty_Info_Period1_6  \\\n",
       "0                       25.0                       65.0   \n",
       "1                       40.0                        2.0   \n",
       "2                       49.0                        0.0   \n",
       "3                       38.0                        0.0   \n",
       "4                       36.0                       73.0   \n",
       "\n",
       "   ThirdParty_Info_Period1_7  ThirdParty_Info_Period1_8  \\\n",
       "0                       68.0                       34.0   \n",
       "1                      132.0                       39.0   \n",
       "2                       78.0                       22.0   \n",
       "3                      136.0                       45.0   \n",
       "4                        0.0                        0.0   \n",
       "\n",
       "   ThirdParty_Info_Period1_9  ThirdParty_Info_Period1_10  \\\n",
       "0                        2.0                         1.0   \n",
       "1                        2.0                         1.0   \n",
       "2                        0.0                         0.0   \n",
       "3                        2.0                         1.0   \n",
       "4                        1.0                         1.0   \n",
       "\n",
       "   ThirdParty_Info_Period1_11  ThirdParty_Info_Period1_12  \\\n",
       "0                        10.0                        63.0   \n",
       "1                         8.0                         0.0   \n",
       "2                         7.0                         0.0   \n",
       "3                         9.0                         0.0   \n",
       "4                         5.0                         0.0   \n",
       "\n",
       "   ThirdParty_Info_Period1_13  ThirdParty_Info_Period1_14  \\\n",
       "0                     27489.0                         0.0   \n",
       "1                      3839.0                      9558.0   \n",
       "2                      3578.0                      5360.0   \n",
       "3                      3805.0                      9765.0   \n",
       "4                       561.0                       792.0   \n",
       "\n",
       "   ThirdParty_Info_Period1_15  ThirdParty_Info_Period1_16  \\\n",
       "0                     18900.0                      6083.0   \n",
       "1                        49.0                      9571.0   \n",
       "2                         0.0                      4646.0   \n",
       "3                         0.0                     10461.0   \n",
       "4                      1353.0                         0.0   \n",
       "\n",
       "   ThirdParty_Info_Period1_17  \n",
       "0                      2506.0  \n",
       "1                      3777.0  \n",
       "2                      4292.0  \n",
       "3                      3109.0  \n",
       "4                         0.0  "
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 观察包含period1所有字段的数据，发现字段之间量级差异比较大，可能代表不同的含义，不适合做衍生\n",
    "periods1_col = [col for col in periods_col if col.find('Period1')>0]\n",
    "periods_data.loc[:,periods1_col].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ThirdParty_Info_Period1_1</th>\n",
       "      <th>ThirdParty_Info_Period2_1</th>\n",
       "      <th>ThirdParty_Info_Period3_1</th>\n",
       "      <th>ThirdParty_Info_Period4_1</th>\n",
       "      <th>ThirdParty_Info_Period5_1</th>\n",
       "      <th>ThirdParty_Info_Period6_1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>36.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>9.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>11.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   ThirdParty_Info_Period1_1  ThirdParty_Info_Period2_1  \\\n",
       "0                       10.0                       25.0   \n",
       "1                        0.0                        7.0   \n",
       "2                        1.0                        0.0   \n",
       "3                        9.0                        6.0   \n",
       "4                        1.0                        8.0   \n",
       "\n",
       "   ThirdParty_Info_Period3_1  ThirdParty_Info_Period4_1  \\\n",
       "0                       36.0                        4.0   \n",
       "1                        1.0                        0.0   \n",
       "2                        1.0                       14.0   \n",
       "3                        2.0                       25.0   \n",
       "4                        3.0                        0.0   \n",
       "\n",
       "   ThirdParty_Info_Period5_1  ThirdParty_Info_Period6_1  \n",
       "0                        0.0                        0.0  \n",
       "1                        0.0                        NaN  \n",
       "2                        1.0                        0.0  \n",
       "3                        9.0                       11.0  \n",
       "4                        0.0                        NaN  "
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 观察后缀都为1的字段，发现字段数据的量级基本一致，可以对其做min,max,avg等统计值的衍生\n",
    "period_1_col=[]\n",
    "for i in range(0,102,17):\n",
    "    col = periods_col[i]\n",
    "    period_1_col.append(col)\n",
    "periods_data.loc[:,period_1_col].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "p_num_col=[]\n",
    "# 将Period变量按照后缀数字存储成嵌套列表\n",
    "for i in range(0,17,1):\n",
    "    p_col=[]\n",
    "    for j in range(i,102,17):\n",
    "        col = periods_col[j]\n",
    "        p_col.append(col)\n",
    "    p_num_col.append(p_col)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "# min,max,avg等统计值的衍生，并将衍生后的特征存成单独的数据集\n",
    "periods_data = periods_data.fillna(0)\n",
    "periods_fea_data=pd.DataFrame()\n",
    "for j,p_list in zip(range(1,18,1),p_num_col):\n",
    "    p_data = periods_data.loc[:,p_list]\n",
    "    period_min=[]\n",
    "    period_max=[]\n",
    "    period_avg=[]\n",
    "    for i in range(periods_data.shape[0]):\n",
    "        a = p_data.iloc[i]\n",
    "        period_min.append(np.min(a))\n",
    "        period_max.append(np.max(a))\n",
    "        period_avg.append(np.average(a))\n",
    "    periods_fea_data['periods_'+str(j)+'_min'] = period_min\n",
    "    periods_fea_data['periods_'+str(j)+'_max'] = period_max\n",
    "    periods_fea_data['periods_'+str(j)+'_avg'] = period_avg"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "------"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 保存特征衍生后的数据集至本地\n",
    "data1.to_csv('./data1_process.csv',encoding='gb18030',index=False)\n",
    "rank_df.to_csv('./rank_feature.csv',encoding='gbk',index=False)\n",
    "periods_fea_data.to_csv('./periods_feature.csv',encoding='gbk',index=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 修改信息表"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "衍生的变量\n",
    "1.最近的修改时间距离成交时间差\n",
    "2.修改信息的总次数\n",
    "3.每种信息修改的次数\n",
    "4.按照日期修改的次数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = pd.read_csv('data_input2.csv',encoding='gbk')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 最近的修改时间距离成交时间差\n",
    "# 时间格式的转换\n",
    "df2['ListingInfo1'] = pd.to_datetime(df2['ListingInfo1'])\n",
    "df2['UserupdateInfo2'] = pd.to_datetime(df2['UserupdateInfo2'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算时间差\n",
    "time_span = df2.groupby('Idx',as_index=False).agg({'UserupdateInfo2':np.max,'ListingInfo1':np.max})\n",
    "time_span['update_timespan'] = time_span['ListingInfo1']-time_span['UserupdateInfo2']\n",
    "time_span['update_timespan'] = time_span['update_timespan'].map(lambda x:str(x))\n",
    "time_span['update_timespan'] = time_span['update_timespan'].map(lambda x:int(x[:x.find('d')]))\n",
    "time_span = time_span[['Idx','update_timespan']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将UserupdateInfo1里的字符改为小写形式\n",
    "df2['UserupdateInfo1'] = df2.UserupdateInfo1.map(lambda x:x.lower())\n",
    "# 根据Idx计算UserupdateInfo2的非重复计数\n",
    "group = df2.groupby(['Idx','UserupdateInfo1'],as_index=False).agg({'UserupdateInfo2':pd.Series.nunique})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Idx</th>\n",
       "      <th>_age</th>\n",
       "      <th>_bussinessaddress</th>\n",
       "      <th>_byuserid</th>\n",
       "      <th>_cityid</th>\n",
       "      <th>_companyaddress</th>\n",
       "      <th>_companyname</th>\n",
       "      <th>_companyphone</th>\n",
       "      <th>_companysizeid</th>\n",
       "      <th>_companytypeid</th>\n",
       "      <th>...</th>\n",
       "      <th>_residencetypeid</th>\n",
       "      <th>_residenceyears</th>\n",
       "      <th>_schoolname</th>\n",
       "      <th>_secondemail</th>\n",
       "      <th>_secondmobile</th>\n",
       "      <th>_turnover</th>\n",
       "      <th>_userid</th>\n",
       "      <th>_webshoptypeid</th>\n",
       "      <th>_webshopurl</th>\n",
       "      <th>_workyears</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>4</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>8</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>11</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 56 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Idx  _age  _bussinessaddress  _byuserid  _cityid  _companyaddress  \\\n",
       "0    3   NaN                NaN        NaN      NaN              NaN   \n",
       "0    4   NaN                NaN        NaN      NaN              NaN   \n",
       "0    5   NaN                NaN        NaN      NaN              NaN   \n",
       "0    8   NaN                NaN        NaN      NaN              NaN   \n",
       "0   11   NaN                NaN        NaN      NaN              NaN   \n",
       "\n",
       "   _companyname  _companyphone  _companysizeid  _companytypeid  ...  \\\n",
       "0           NaN            NaN             NaN             NaN  ...   \n",
       "0           NaN            NaN             NaN             NaN  ...   \n",
       "0           NaN            NaN             NaN             NaN  ...   \n",
       "0           NaN            NaN             NaN             NaN  ...   \n",
       "0           NaN            NaN             NaN             NaN  ...   \n",
       "\n",
       "   _residencetypeid  _residenceyears  _schoolname  _secondemail  \\\n",
       "0               1.0              1.0          NaN           NaN   \n",
       "0               1.0              1.0          NaN           NaN   \n",
       "0               1.0              1.0          NaN           NaN   \n",
       "0               1.0              1.0          NaN           NaN   \n",
       "0               1.0              1.0          NaN           NaN   \n",
       "\n",
       "   _secondmobile  _turnover  _userid  _webshoptypeid  _webshopurl  _workyears  \n",
       "0            NaN        NaN      NaN             NaN          NaN         NaN  \n",
       "0            NaN        NaN      NaN             NaN          NaN         NaN  \n",
       "0            NaN        NaN      NaN             NaN          NaN         NaN  \n",
       "0            NaN        NaN      NaN             NaN          NaN         NaN  \n",
       "0            NaN        NaN      NaN             NaN          NaN         NaN  \n",
       "\n",
       "[5 rows x 56 columns]"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 每种信息修改的次数的衍生\n",
    "user_df_list=[]\n",
    "for idx in group.Idx.unique():\n",
    "    user_df  = group[group.Idx==idx]\n",
    "    change_cate = list(user_df.UserupdateInfo1)\n",
    "    change_cnt = list(user_df.UserupdateInfo2)\n",
    "    user_col  = ['Idx']+change_cate\n",
    "    user_value = [user_df.iloc[0]['Idx']]+change_cnt\n",
    "    user_df2 = pd.DataFrame(np.array(user_value).reshape(1,len(user_value)),columns=user_col)\n",
    "    user_df_list.append(user_df2)\n",
    "cate_change_df = pd.concat(user_df_list,axis=0)\n",
    "cate_change_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(49993, 56)"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 将cate_change_df里的空值填为0\n",
    "cate_change_df = cate_change_df.fillna(0)\n",
    "cate_change_df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Idx</th>\n",
       "      <th>update_time_cnt</th>\n",
       "      <th>update_all_cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Idx  update_time_cnt  update_all_cnt\n",
       "0    3                1              13\n",
       "1    4                3              17\n",
       "2    5                1              13\n",
       "3    8                2              14\n",
       "4   11                4              17"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 修改信息的总次数，按照日期修改的次数的衍生\n",
    "update_cnt = df2.groupby('Idx',as_index=False).agg({'UserupdateInfo2':pd.Series.nunique,\n",
    "                                                         'ListingInfo1':pd.Series.count}).\\\n",
    "                      rename(columns={'UserupdateInfo2':'update_time_cnt',\n",
    "                                      'ListingInfo1':'update_all_cnt'})\n",
    "update_cnt.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Idx</th>\n",
       "      <th>update_timespan</th>\n",
       "      <th>_age</th>\n",
       "      <th>_bussinessaddress</th>\n",
       "      <th>_byuserid</th>\n",
       "      <th>_cityid</th>\n",
       "      <th>_companyaddress</th>\n",
       "      <th>_companyname</th>\n",
       "      <th>_companyphone</th>\n",
       "      <th>_companysizeid</th>\n",
       "      <th>...</th>\n",
       "      <th>_schoolname</th>\n",
       "      <th>_secondemail</th>\n",
       "      <th>_secondmobile</th>\n",
       "      <th>_turnover</th>\n",
       "      <th>_userid</th>\n",
       "      <th>_webshoptypeid</th>\n",
       "      <th>_webshopurl</th>\n",
       "      <th>_workyears</th>\n",
       "      <th>update_time_cnt</th>\n",
       "      <th>update_all_cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>67</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 59 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Idx  update_timespan  _age  _bussinessaddress  _byuserid  _cityid  \\\n",
       "0    3               67   0.0                0.0        0.0      0.0   \n",
       "1    4                0   0.0                0.0        0.0      0.0   \n",
       "2    5               14   0.0                0.0        0.0      0.0   \n",
       "3    8                2   0.0                0.0        0.0      0.0   \n",
       "4   11                0   0.0                0.0        0.0      0.0   \n",
       "\n",
       "   _companyaddress  _companyname  _companyphone  _companysizeid  ...  \\\n",
       "0              0.0           0.0            0.0             0.0  ...   \n",
       "1              0.0           0.0            0.0             0.0  ...   \n",
       "2              0.0           0.0            0.0             0.0  ...   \n",
       "3              0.0           0.0            0.0             0.0  ...   \n",
       "4              0.0           0.0            0.0             0.0  ...   \n",
       "\n",
       "   _schoolname  _secondemail  _secondmobile  _turnover  _userid  \\\n",
       "0          0.0           0.0            0.0        0.0      0.0   \n",
       "1          0.0           0.0            0.0        0.0      0.0   \n",
       "2          0.0           0.0            0.0        0.0      0.0   \n",
       "3          0.0           0.0            0.0        0.0      0.0   \n",
       "4          0.0           0.0            0.0        0.0      0.0   \n",
       "\n",
       "   _webshoptypeid  _webshopurl  _workyears  update_time_cnt  update_all_cnt  \n",
       "0             0.0          0.0         0.0                1              13  \n",
       "1             0.0          0.0         0.0                3              17  \n",
       "2             0.0          0.0         0.0                1              13  \n",
       "3             0.0          0.0         0.0                2              14  \n",
       "4             0.0          0.0         0.0                4              17  \n",
       "\n",
       "[5 rows x 59 columns]"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 将三个衍生特征的临时表进行关联\n",
    "update_info = pd.merge(time_span,cate_change_df,on='Idx',how='left')\n",
    "update_info = pd.merge(update_info,update_cnt,on='Idx',how='left')\n",
    "update_info.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 保存数据至本地\n",
    "update_info.to_csv('./update_feature.csv',encoding='gbk',index=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  登录信息表"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "衍生的变量\n",
    "1.累计登录次数\n",
    "2.登录时间的平均间隔\n",
    "3.最近一次的登录时间距离成交时间差"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "df3 = pd.read_csv('data_input3.csv',encoding='gb18030')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Idx</th>\n",
       "      <th>log_cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8</td>\n",
       "      <td>125</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11</td>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Idx  log_cnt\n",
       "0    3       26\n",
       "1    4       11\n",
       "2    5       11\n",
       "3    8      125\n",
       "4   11       30"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 累计登录次数\n",
    "log_cnt = df3.groupby('Idx',as_index=False).LogInfo3.count().rename(columns={'LogInfo3':'log_cnt'})\n",
    "log_cnt.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Idx</th>\n",
       "      <th>log_timespan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Idx  log_timespan\n",
       "0    3             4\n",
       "1    4             2\n",
       "2    5             1\n",
       "3    8             0\n",
       "4   11             0"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 最近一次的登录时间距离当前时间差\n",
    "df3['Listinginfo1']=pd.to_datetime(df3.Listinginfo1)\n",
    "df3['LogInfo3'] = pd.to_datetime(df3.LogInfo3)\n",
    "time_log_span = df3.groupby('Idx',as_index=False).agg({'Listinginfo1':np.max,\n",
    "                                                       'LogInfo3':np.max})\n",
    "time_log_span['log_timespan'] = time_log_span['Listinginfo1']-time_log_span['LogInfo3']\n",
    "time_log_span['log_timespan'] = time_log_span['log_timespan'].map(lambda x:str(x))\n",
    "time_log_span['log_timespan'] = time_log_span['log_timespan'].map(lambda x:int(x[:x.find('d')]))\n",
    "time_log_span= time_log_span[['Idx','log_timespan']]\n",
    "time_log_span.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 登录时间的平均时间间隔\n",
    "df4  = df3.sort_values(by=['Idx','LogInfo3'],ascending=['True','True'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "df4['LogInfo4'] = df4.groupby('Idx')['LogInfo3'].apply(lambda x:x.shift(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "df4['time_span'] = df4['LogInfo3']-df4['LogInfo4']\n",
    "df4['time_span'] = df4['time_span'].map(lambda x:str(x))\n",
    "df4 = df4.replace({'time_span':{'NaT':'0 days 00:00:00'}})\n",
    "df4['time_span'] = df4['time_span'].map(lambda x:int(x[:x.find('d')]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Idx</th>\n",
       "      <th>avg_log_timespan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>2.423077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>0.636364</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>1.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8</td>\n",
       "      <td>0.096000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11</td>\n",
       "      <td>0.266667</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Idx  avg_log_timespan\n",
       "0    3          2.423077\n",
       "1    4          0.636364\n",
       "2    5          1.181818\n",
       "3    8          0.096000\n",
       "4   11          0.266667"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "avg_log_timespan = df4.groupby('Idx',as_index=False).time_span.mean().rename(columns={'time_span':'avg_log_timespan'})\n",
    "avg_log_timespan.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Idx</th>\n",
       "      <th>log_cnt</th>\n",
       "      <th>log_timespan</th>\n",
       "      <th>avg_log_timespan</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>26</td>\n",
       "      <td>4</td>\n",
       "      <td>2.423077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4</td>\n",
       "      <td>11</td>\n",
       "      <td>2</td>\n",
       "      <td>0.636364</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>1.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8</td>\n",
       "      <td>125</td>\n",
       "      <td>0</td>\n",
       "      <td>0.096000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11</td>\n",
       "      <td>30</td>\n",
       "      <td>0</td>\n",
       "      <td>0.266667</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Idx  log_cnt  log_timespan  avg_log_timespan\n",
       "0    3       26             4          2.423077\n",
       "1    4       11             2          0.636364\n",
       "2    5       11             1          1.181818\n",
       "3    8      125             0          0.096000\n",
       "4   11       30             0          0.266667"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "log_info = pd.merge(log_cnt,time_log_span,how='left',on='Idx')\n",
    "log_info = pd.merge(log_info,avg_log_timespan,how='left',on='Idx')\n",
    "log_info.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "log_info.to_csv('./log_info_feature.csv',encoding='gbk',index=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "205.355px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
